All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/12] staging: fsl-mc: Cleanup and bug fixes
@ 2015-10-14 19:51 J. German Rivera
  2015-10-14 19:51 ` [PATCH v2 01/12] staging: fsl-mc: Naming cleanup in fsl_mc-portal_allocate J. German Rivera
                   ` (11 more replies)
  0 siblings, 12 replies; 15+ messages in thread
From: J. German Rivera @ 2015-10-14 19:51 UTC (permalink / raw)
  To: gregkh, arnd, devel, linux-kernel
  Cc: stuart.yoder, itai.katz, lijun.pan, leoli, scottwood, agraf,
	bhamciu1, R89243, bhupesh.sharma, nir.erez, richard.schmitt,
	dan.carpenter

This patch series includes the following code cleanup and
bug fixes for the fsl-mc bus driver:

Patch 1: Naming cleanup in fsl_mc-portal_allocate
Patch 2: fsl_mc_io object refactoring
Patch 3: dpmcp opening/closing refactoring
Patch 4: Changed dev_info() calls to dev_dbg()
Patch 5: Changed types of flags, portal size in
Patch 6: Removed unused DPMCP macros
Patch 7: Fixed alignment of copyright comment
Patch 8: Fixed bug in fsl_mc_allocator_remove
Patch 9: Refactored error exit in allocator probe/remove
Patch 10: Fixed WARN_ON() in fsl_mc_resource_pool_remove_device
Patch 11: Fixed bug in uninitialized root dprc irq count
Patch 12: Added missing initializer in fsl_mc_bus_driver

CHANGE HISTORY

Changes in v2
- Updated only patch 3. There was some leftover code that
  needed to be removed as part of the refactoring done
  in that patch.


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH v2 01/12] staging: fsl-mc: Naming cleanup in fsl_mc-portal_allocate
  2015-10-14 19:51 [PATCH v2 00/12] staging: fsl-mc: Cleanup and bug fixes J. German Rivera
@ 2015-10-14 19:51 ` J. German Rivera
  2015-10-17  6:15   ` Greg KH
  2015-10-14 19:51 ` [PATCH v2 02/12] staging: fsl-mc: fsl_mc_io object refactoring J. German Rivera
                   ` (10 subsequent siblings)
  11 siblings, 1 reply; 15+ messages in thread
From: J. German Rivera @ 2015-10-14 19:51 UTC (permalink / raw)
  To: gregkh, arnd, devel, linux-kernel
  Cc: stuart.yoder, itai.katz, lijun.pan, leoli, scottwood, agraf,
	bhamciu1, R89243, bhupesh.sharma, nir.erez, richard.schmitt,
	dan.carpenter, J. German Rivera

mc_adev is a local variable for the allocated dpmcp object.
Renamed mc_adev as dpmcp_dev for clarity.
---
CHANGE HISTORY

Changes in v2: none

 drivers/staging/fsl-mc/bus/mc-allocator.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/staging/fsl-mc/bus/mc-allocator.c b/drivers/staging/fsl-mc/bus/mc-allocator.c
index d087b4c..a4aa859 100644
--- a/drivers/staging/fsl-mc/bus/mc-allocator.c
+++ b/drivers/staging/fsl-mc/bus/mc-allocator.c
@@ -284,7 +284,7 @@ int __must_check fsl_mc_portal_allocate(struct fsl_mc_device *mc_dev,
 	struct fsl_mc_bus *mc_bus;
 	phys_addr_t mc_portal_phys_addr;
 	size_t mc_portal_size;
-	struct fsl_mc_device *mc_adev;
+	struct fsl_mc_device *dpmcp_dev;
 	int error = -EINVAL;
 	struct fsl_mc_resource *resource = NULL;
 	struct fsl_mc_io *mc_io = NULL;
@@ -304,16 +304,16 @@ int __must_check fsl_mc_portal_allocate(struct fsl_mc_device *mc_dev,
 	if (error < 0)
 		return error;

-	mc_adev = resource->data;
-	if (WARN_ON(!mc_adev))
+	dpmcp_dev = resource->data;
+	if (WARN_ON(!dpmcp_dev))
 		goto error_cleanup_resource;

-	if (WARN_ON(mc_adev->obj_desc.region_count == 0))
+	if (WARN_ON(dpmcp_dev->obj_desc.region_count == 0))
 		goto error_cleanup_resource;

-	mc_portal_phys_addr = mc_adev->regions[0].start;
-	mc_portal_size = mc_adev->regions[0].end -
-			 mc_adev->regions[0].start + 1;
+	mc_portal_phys_addr = dpmcp_dev->regions[0].start;
+	mc_portal_size = dpmcp_dev->regions[0].end -
+			 dpmcp_dev->regions[0].start + 1;

 	if (WARN_ON(mc_portal_size != mc_bus_dev->mc_io->portal_size))
 		goto error_cleanup_resource;
--
2.3.3


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2 02/12] staging: fsl-mc: fsl_mc_io object refactoring
  2015-10-14 19:51 [PATCH v2 00/12] staging: fsl-mc: Cleanup and bug fixes J. German Rivera
  2015-10-14 19:51 ` [PATCH v2 01/12] staging: fsl-mc: Naming cleanup in fsl_mc-portal_allocate J. German Rivera
@ 2015-10-14 19:51 ` J. German Rivera
  2015-10-14 19:51 ` [PATCH v2 03/12] staging: fsl-mc: dpmcp opening/closing refactoring J. German Rivera
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: J. German Rivera @ 2015-10-14 19:51 UTC (permalink / raw)
  To: gregkh, arnd, devel, linux-kernel
  Cc: stuart.yoder, itai.katz, lijun.pan, leoli, scottwood, agraf,
	bhamciu1, R89243, bhupesh.sharma, nir.erez, richard.schmitt,
	dan.carpenter, J. German Rivera

Each fsl_mc_io object is associated with an fsl_mc_device object
of type "dpmcp" representing the MC portal associated with the
fsl_mc_io object. Before, we were representing this association with
an fsl_mc_resource pointer. To enhance code clarity, it is more
straight forward to use an fsl_mc_device pointer instead.
So, this change replaces the 'resource' field in the fsl_mc_io
object with 'dpmcp_dev'. Also, it changes parameter 'resource' of
fsl_create_mc_io() to be an fsl_mc_device pointer instead.
---
CHANGE HISTORY

Changes in v2: none

 drivers/staging/fsl-mc/bus/mc-allocator.c | 34 ++++++++++++++++++-------------
 drivers/staging/fsl-mc/bus/mc-sys.c       | 16 +++++++++++----
 drivers/staging/fsl-mc/include/mc-sys.h   |  8 +++-----
 3 files changed, 35 insertions(+), 23 deletions(-)

diff --git a/drivers/staging/fsl-mc/bus/mc-allocator.c b/drivers/staging/fsl-mc/bus/mc-allocator.c
index a4aa859..c3222c6 100644
--- a/drivers/staging/fsl-mc/bus/mc-allocator.c
+++ b/drivers/staging/fsl-mc/bus/mc-allocator.c
@@ -320,7 +320,7 @@ int __must_check fsl_mc_portal_allocate(struct fsl_mc_device *mc_dev,

 	error = fsl_create_mc_io(&mc_bus_dev->dev,
 				 mc_portal_phys_addr,
-				 mc_portal_size, resource,
+				 mc_portal_size, dpmcp_dev,
 				 mc_io_flags, &mc_io);
 	if (error < 0)
 		goto error_cleanup_resource;
@@ -342,12 +342,22 @@ EXPORT_SYMBOL_GPL(fsl_mc_portal_allocate);
  */
 void fsl_mc_portal_free(struct fsl_mc_io *mc_io)
 {
+	struct fsl_mc_device *dpmcp_dev;
 	struct fsl_mc_resource *resource;

-	resource = mc_io->resource;
-	if (WARN_ON(resource->type != FSL_MC_POOL_DPMCP))
+	/*
+	 * Every mc_io obtained by calling fsl_mc_portal_allocate() is supposed
+	 * to have a DPMCP object associated with.
+	 */
+	dpmcp_dev = mc_io->dpmcp_dev;
+	if (WARN_ON(!dpmcp_dev))
+		return;
+
+	resource = dpmcp_dev->resource;
+	if (WARN_ON(!resource || resource->type != FSL_MC_POOL_DPMCP))
 		return;
-	if (WARN_ON(!resource->data))
+
+	if (WARN_ON(resource->data != dpmcp_dev))
 		return;

 	fsl_destroy_mc_io(mc_io);
@@ -364,30 +374,26 @@ int fsl_mc_portal_reset(struct fsl_mc_io *mc_io)
 {
 	int error;
 	u16 token;
-	struct fsl_mc_resource *resource = mc_io->resource;
-	struct fsl_mc_device *mc_dev = resource->data;
+	struct fsl_mc_device *dpmcp_dev = mc_io->dpmcp_dev;

-	if (WARN_ON(resource->type != FSL_MC_POOL_DPMCP))
-		return -EINVAL;
-
-	if (WARN_ON(!mc_dev))
+	if (WARN_ON(!dpmcp_dev))
 		return -EINVAL;

-	error = dpmcp_open(mc_io, 0, mc_dev->obj_desc.id, &token);
+	error = dpmcp_open(mc_io, 0, dpmcp_dev->obj_desc.id, &token);
 	if (error < 0) {
-		dev_err(&mc_dev->dev, "dpmcp_open() failed: %d\n", error);
+		dev_err(&dpmcp_dev->dev, "dpmcp_open() failed: %d\n", error);
 		return error;
 	}

 	error = dpmcp_reset(mc_io, 0, token);
 	if (error < 0) {
-		dev_err(&mc_dev->dev, "dpmcp_reset() failed: %d\n", error);
+		dev_err(&dpmcp_dev->dev, "dpmcp_reset() failed: %d\n", error);
 		return error;
 	}

 	error = dpmcp_close(mc_io, 0, token);
 	if (error < 0) {
-		dev_err(&mc_dev->dev, "dpmcp_close() failed: %d\n", error);
+		dev_err(&dpmcp_dev->dev, "dpmcp_close() failed: %d\n", error);
 		return error;
 	}

diff --git a/drivers/staging/fsl-mc/bus/mc-sys.c b/drivers/staging/fsl-mc/bus/mc-sys.c
index b58b53f..e53acfa 100644
--- a/drivers/staging/fsl-mc/bus/mc-sys.c
+++ b/drivers/staging/fsl-mc/bus/mc-sys.c
@@ -34,10 +34,12 @@

 #include "../include/mc-sys.h"
 #include "../include/mc-cmd.h"
+#include "../include/mc.h"
 #include <linux/delay.h>
 #include <linux/slab.h>
 #include <linux/ioport.h>
 #include <linux/device.h>
+#include "dpmcp.h"

 /**
  * Timeout in jiffies to wait for the completion of an MC command
@@ -60,8 +62,8 @@
  * @dev: device to be associated with the MC I/O object
  * @mc_portal_phys_addr: physical address of the MC portal to use
  * @mc_portal_size: size in bytes of the MC portal
- * @resource: Pointer to MC bus object allocator resource associated
- * with this MC I/O object or NULL if none.
+ * @dpmcp-dev: Pointer to the DPMCP object associated with this MC I/O
+ * object or NULL if none.
  * @flags: flags for the new MC I/O object
  * @new_mc_io: Area to return pointer to newly created MC I/O object
  *
@@ -70,7 +72,7 @@
 int __must_check fsl_create_mc_io(struct device *dev,
 				  phys_addr_t mc_portal_phys_addr,
 				  u32 mc_portal_size,
-				  struct fsl_mc_resource *resource,
+				  struct fsl_mc_device *dpmcp_dev,
 				  u32 flags, struct fsl_mc_io **new_mc_io)
 {
 	struct fsl_mc_io *mc_io;
@@ -85,7 +87,8 @@ int __must_check fsl_create_mc_io(struct device *dev,
 	mc_io->flags = flags;
 	mc_io->portal_phys_addr = mc_portal_phys_addr;
 	mc_io->portal_size = mc_portal_size;
-	mc_io->resource = resource;
+	mc_io->dpmcp_dev = dpmcp_dev;
+	dpmcp_dev->mc_io = mc_io;
 	res = devm_request_mem_region(dev,
 				      mc_portal_phys_addr,
 				      mc_portal_size,
@@ -126,6 +129,11 @@ void fsl_destroy_mc_io(struct fsl_mc_io *mc_io)
 				mc_io->portal_size);

 	mc_io->portal_virt_addr = NULL;
+	if (mc_io->dpmcp_dev) {
+		WARN_ON(mc_io->dpmcp_dev->mc_io != mc_io);
+		mc_io->dpmcp_dev->mc_io = NULL;
+	}
+
 	devm_kfree(mc_io->dev, mc_io);
 }
 EXPORT_SYMBOL_GPL(fsl_destroy_mc_io);
diff --git a/drivers/staging/fsl-mc/include/mc-sys.h b/drivers/staging/fsl-mc/include/mc-sys.h
index 939b7d3..bfbecaf 100644
--- a/drivers/staging/fsl-mc/include/mc-sys.h
+++ b/drivers/staging/fsl-mc/include/mc-sys.h
@@ -50,9 +50,7 @@ struct mc_command;
  * @portal_size: MC command portal size in bytes
  * @portal_phys_addr: MC command portal physical address
  * @portal_virt_addr: MC command portal virtual address
- * @resource: generic resource associated with the MC portal if
- * the MC portal came from a resource pool, or NULL if the MC portal
- * is permanently bound to a device (e.g., a DPRC)
+ * @dpmcp_dev: pointer to the DPMCP device associated with the MC portal.
  */
 struct fsl_mc_io {
 	struct device *dev;
@@ -60,13 +58,13 @@ struct fsl_mc_io {
 	u32 portal_size;
 	phys_addr_t portal_phys_addr;
 	void __iomem *portal_virt_addr;
-	struct fsl_mc_resource *resource;
+	struct fsl_mc_device *dpmcp_dev;
 };

 int __must_check fsl_create_mc_io(struct device *dev,
 				  phys_addr_t mc_portal_phys_addr,
 				  u32 mc_portal_size,
-				  struct fsl_mc_resource *resource,
+				  struct fsl_mc_device *dpmcp_dev,
 				  u32 flags, struct fsl_mc_io **new_mc_io);

 void fsl_destroy_mc_io(struct fsl_mc_io *mc_io);
--
2.3.3


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2 03/12] staging: fsl-mc: dpmcp opening/closing refactoring
  2015-10-14 19:51 [PATCH v2 00/12] staging: fsl-mc: Cleanup and bug fixes J. German Rivera
  2015-10-14 19:51 ` [PATCH v2 01/12] staging: fsl-mc: Naming cleanup in fsl_mc-portal_allocate J. German Rivera
  2015-10-14 19:51 ` [PATCH v2 02/12] staging: fsl-mc: fsl_mc_io object refactoring J. German Rivera
@ 2015-10-14 19:51 ` J. German Rivera
  2015-10-14 19:51 ` [PATCH v2 04/12] staging: fsl-mc: Changed dev_info() calls to dev_dbg() J. German Rivera
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: J. German Rivera @ 2015-10-14 19:51 UTC (permalink / raw)
  To: gregkh, arnd, devel, linux-kernel
  Cc: stuart.yoder, itai.katz, lijun.pan, leoli, scottwood, agraf,
	bhamciu1, R89243, bhupesh.sharma, nir.erez, richard.schmitt,
	dan.carpenter, J. German Rivera

Before, we were opening and closing a mc_io's dpmcp object
in fsl_mc_portal_reset(), since that was the only function that was
calling dpmcp MC operations. However, it is better for maintainability
to open the dpmcp object when it gets associated with an mc_io object,
and close it when this association is terminated. This way, we are free
to call dpmcp operations on a mc_io's dpmcp object at any time, without
having to check if the dpmcp object is opened or not.

Consequently, the creation/teardown of the association between
an mc_io object and a dpmcp is now encapsulated in two functions:
fsl_mc_io_set_dpmcp()/fsl_mc_io_unset_dpmcp(). Besides, setting
the corresponding pointers for the association, these functions
open and close the dpmcp object respectively.
---
CHANGE HISTORY

Changes in v2:
- Removed leftover code that needed to be removed as part of
  the refactoring done in this patch

 drivers/staging/fsl-mc/bus/mc-allocator.c | 15 +------
 drivers/staging/fsl-mc/bus/mc-sys.c       | 74 ++++++++++++++++++++++++++++---
 drivers/staging/fsl-mc/include/mc-sys.h   |  5 +++
 3 files changed, 73 insertions(+), 21 deletions(-)

diff --git a/drivers/staging/fsl-mc/bus/mc-allocator.c b/drivers/staging/fsl-mc/bus/mc-allocator.c
index c3222c6..33f5de4 100644
--- a/drivers/staging/fsl-mc/bus/mc-allocator.c
+++ b/drivers/staging/fsl-mc/bus/mc-allocator.c
@@ -373,30 +373,17 @@ EXPORT_SYMBOL_GPL(fsl_mc_portal_free);
 int fsl_mc_portal_reset(struct fsl_mc_io *mc_io)
 {
 	int error;
-	u16 token;
 	struct fsl_mc_device *dpmcp_dev = mc_io->dpmcp_dev;

 	if (WARN_ON(!dpmcp_dev))
 		return -EINVAL;

-	error = dpmcp_open(mc_io, 0, dpmcp_dev->obj_desc.id, &token);
-	if (error < 0) {
-		dev_err(&dpmcp_dev->dev, "dpmcp_open() failed: %d\n", error);
-		return error;
-	}
-
-	error = dpmcp_reset(mc_io, 0, token);
+	error = dpmcp_reset(mc_io, 0, dpmcp_dev->mc_handle);
 	if (error < 0) {
 		dev_err(&dpmcp_dev->dev, "dpmcp_reset() failed: %d\n", error);
 		return error;
 	}

-	error = dpmcp_close(mc_io, 0, token);
-	if (error < 0) {
-		dev_err(&dpmcp_dev->dev, "dpmcp_close() failed: %d\n", error);
-		return error;
-	}
-
 	return 0;
 }
 EXPORT_SYMBOL_GPL(fsl_mc_portal_reset);
diff --git a/drivers/staging/fsl-mc/bus/mc-sys.c b/drivers/staging/fsl-mc/bus/mc-sys.c
index e53acfa..07848a0 100644
--- a/drivers/staging/fsl-mc/bus/mc-sys.c
+++ b/drivers/staging/fsl-mc/bus/mc-sys.c
@@ -75,6 +75,7 @@ int __must_check fsl_create_mc_io(struct device *dev,
 				  struct fsl_mc_device *dpmcp_dev,
 				  u32 flags, struct fsl_mc_io **new_mc_io)
 {
+	int error;
 	struct fsl_mc_io *mc_io;
 	void __iomem *mc_portal_virt_addr;
 	struct resource *res;
@@ -87,8 +88,6 @@ int __must_check fsl_create_mc_io(struct device *dev,
 	mc_io->flags = flags;
 	mc_io->portal_phys_addr = mc_portal_phys_addr;
 	mc_io->portal_size = mc_portal_size;
-	mc_io->dpmcp_dev = dpmcp_dev;
-	dpmcp_dev->mc_io = mc_io;
 	res = devm_request_mem_region(dev,
 				      mc_portal_phys_addr,
 				      mc_portal_size,
@@ -111,8 +110,18 @@ int __must_check fsl_create_mc_io(struct device *dev,
 	}

 	mc_io->portal_virt_addr = mc_portal_virt_addr;
+	if (dpmcp_dev) {
+		error = fsl_mc_io_set_dpmcp(mc_io, dpmcp_dev);
+		if (error < 0)
+			goto error_destroy_mc_io;
+	}
+
 	*new_mc_io = mc_io;
 	return 0;
+
+error_destroy_mc_io:
+	fsl_destroy_mc_io(mc_io);
+	return error;
 }
 EXPORT_SYMBOL_GPL(fsl_create_mc_io);

@@ -123,21 +132,72 @@ EXPORT_SYMBOL_GPL(fsl_create_mc_io);
  */
 void fsl_destroy_mc_io(struct fsl_mc_io *mc_io)
 {
+	struct fsl_mc_device *dpmcp_dev = mc_io->dpmcp_dev;
+
+	if (dpmcp_dev)
+		fsl_mc_io_unset_dpmcp(mc_io);
+
 	devm_iounmap(mc_io->dev, mc_io->portal_virt_addr);
 	devm_release_mem_region(mc_io->dev,
 				mc_io->portal_phys_addr,
 				mc_io->portal_size);

 	mc_io->portal_virt_addr = NULL;
-	if (mc_io->dpmcp_dev) {
-		WARN_ON(mc_io->dpmcp_dev->mc_io != mc_io);
-		mc_io->dpmcp_dev->mc_io = NULL;
-	}
-
 	devm_kfree(mc_io->dev, mc_io);
 }
 EXPORT_SYMBOL_GPL(fsl_destroy_mc_io);

+int fsl_mc_io_set_dpmcp(struct fsl_mc_io *mc_io,
+			struct fsl_mc_device *dpmcp_dev)
+{
+	int error;
+
+	if (WARN_ON(!dpmcp_dev))
+		return -EINVAL;
+
+	if (WARN_ON(mc_io->dpmcp_dev))
+		return -EINVAL;
+
+	if (WARN_ON(dpmcp_dev->mc_io))
+		return -EINVAL;
+
+	error = dpmcp_open(mc_io,
+			   0,
+			   dpmcp_dev->obj_desc.id,
+			   &dpmcp_dev->mc_handle);
+	if (error < 0)
+		return error;
+
+	mc_io->dpmcp_dev = dpmcp_dev;
+	dpmcp_dev->mc_io = mc_io;
+	return 0;
+}
+EXPORT_SYMBOL_GPL(fsl_mc_io_set_dpmcp);
+
+void fsl_mc_io_unset_dpmcp(struct fsl_mc_io *mc_io)
+{
+	int error;
+	struct fsl_mc_device *dpmcp_dev = mc_io->dpmcp_dev;
+
+	if (WARN_ON(!dpmcp_dev))
+		return;
+
+	if (WARN_ON(dpmcp_dev->mc_io != mc_io))
+		return;
+
+	error = dpmcp_close(mc_io,
+			    0,
+			    dpmcp_dev->mc_handle);
+	if (error < 0) {
+		dev_err(&dpmcp_dev->dev, "dpmcp_close() failed: %d\n",
+			error);
+	}
+
+	mc_io->dpmcp_dev = NULL;
+	dpmcp_dev->mc_io = NULL;
+}
+EXPORT_SYMBOL_GPL(fsl_mc_io_unset_dpmcp);
+
 static int mc_status_to_error(enum mc_cmd_status status)
 {
 	static const int mc_status_to_error_map[] = {
diff --git a/drivers/staging/fsl-mc/include/mc-sys.h b/drivers/staging/fsl-mc/include/mc-sys.h
index bfbecaf..d4fb602 100644
--- a/drivers/staging/fsl-mc/include/mc-sys.h
+++ b/drivers/staging/fsl-mc/include/mc-sys.h
@@ -69,6 +69,11 @@ int __must_check fsl_create_mc_io(struct device *dev,

 void fsl_destroy_mc_io(struct fsl_mc_io *mc_io);

+int fsl_mc_io_set_dpmcp(struct fsl_mc_io *mc_io,
+			struct fsl_mc_device *dpmcp_dev);
+
+void fsl_mc_io_unset_dpmcp(struct fsl_mc_io *mc_io);
+
 int mc_send_command(struct fsl_mc_io *mc_io, struct mc_command *cmd);

 #endif /* _FSL_MC_SYS_H */
--
2.3.3


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2 04/12] staging: fsl-mc: Changed dev_info() calls to dev_dbg()
  2015-10-14 19:51 [PATCH v2 00/12] staging: fsl-mc: Cleanup and bug fixes J. German Rivera
                   ` (2 preceding siblings ...)
  2015-10-14 19:51 ` [PATCH v2 03/12] staging: fsl-mc: dpmcp opening/closing refactoring J. German Rivera
@ 2015-10-14 19:51 ` J. German Rivera
  2015-10-14 19:51 ` [PATCH v2 05/12] staging_fsl-mc: Changed types of flags, portal size in J. German Rivera
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: J. German Rivera @ 2015-10-14 19:51 UTC (permalink / raw)
  To: gregkh, arnd, devel, linux-kernel
  Cc: stuart.yoder, itai.katz, lijun.pan, leoli, scottwood, agraf,
	bhamciu1, R89243, bhupesh.sharma, nir.erez, richard.schmitt,
	dan.carpenter, J. German Rivera

Changed dev_info() calls to dev_dbg() in
fsl_mc_allocator_probe/fsl_mc_allocator_remove, as they
are useful only for debugging.
---
CHANGE HISTORY

Changes in v2: none

 drivers/staging/fsl-mc/bus/mc-allocator.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/staging/fsl-mc/bus/mc-allocator.c b/drivers/staging/fsl-mc/bus/mc-allocator.c
index 33f5de4..527cb4b 100644
--- a/drivers/staging/fsl-mc/bus/mc-allocator.c
+++ b/drivers/staging/fsl-mc/bus/mc-allocator.c
@@ -492,8 +492,8 @@ static int fsl_mc_allocator_probe(struct fsl_mc_device *mc_dev)
 	if (error < 0)
 		goto error;

-	dev_info(&mc_dev->dev,
-		 "Allocatable MC object device bound to fsl_mc_allocator driver");
+	dev_dbg(&mc_dev->dev,
+		"Allocatable MC object device bound to fsl_mc_allocator driver");
 	return 0;
 error:

@@ -515,8 +515,8 @@ static int fsl_mc_allocator_remove(struct fsl_mc_device *mc_dev)
 	if (error < 0)
 		goto out;

-	dev_info(&mc_dev->dev,
-		 "Allocatable MC object device unbound from fsl_mc_allocator driver");
+	dev_dbg(&mc_dev->dev,
+		"Allocatable MC object device unbound from fsl_mc_allocator driver");
 	error = 0;
 out:
 	return error;
--
2.3.3


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2 05/12] staging_fsl-mc: Changed types of flags, portal size in
  2015-10-14 19:51 [PATCH v2 00/12] staging: fsl-mc: Cleanup and bug fixes J. German Rivera
                   ` (3 preceding siblings ...)
  2015-10-14 19:51 ` [PATCH v2 04/12] staging: fsl-mc: Changed dev_info() calls to dev_dbg() J. German Rivera
@ 2015-10-14 19:51 ` J. German Rivera
  2015-10-14 19:51 ` [PATCH v2 06/12] staging: fsl-mc: Removed unused DPMCP macros J. German Rivera
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: J. German Rivera @ 2015-10-14 19:51 UTC (permalink / raw)
  To: gregkh, arnd, devel, linux-kernel
  Cc: stuart.yoder, itai.katz, lijun.pan, leoli, scottwood, agraf,
	bhamciu1, R89243, bhupesh.sharma, nir.erez, richard.schmitt,
	dan.carpenter, J. German Rivera

Changed these two fields from 32-bit integers to 16-bit integers in
struct fsl_mc_io, as 32 bits is too much for these fields. This
change does not affect other components since fsl_mc_io is an opaque
type.
---
CHANGE HISTORY

Changes in v2: none

 drivers/staging/fsl-mc/include/mc-sys.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/fsl-mc/include/mc-sys.h b/drivers/staging/fsl-mc/include/mc-sys.h
index d4fb602..7d44d8c 100644
--- a/drivers/staging/fsl-mc/include/mc-sys.h
+++ b/drivers/staging/fsl-mc/include/mc-sys.h
@@ -54,8 +54,8 @@ struct mc_command;
  */
 struct fsl_mc_io {
 	struct device *dev;
-	u32 flags;
-	u32 portal_size;
+	u16 flags;
+	u16 portal_size;
 	phys_addr_t portal_phys_addr;
 	void __iomem *portal_virt_addr;
 	struct fsl_mc_device *dpmcp_dev;
--
2.3.3


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2 06/12] staging: fsl-mc: Removed unused DPMCP macros
  2015-10-14 19:51 [PATCH v2 00/12] staging: fsl-mc: Cleanup and bug fixes J. German Rivera
                   ` (4 preceding siblings ...)
  2015-10-14 19:51 ` [PATCH v2 05/12] staging_fsl-mc: Changed types of flags, portal size in J. German Rivera
@ 2015-10-14 19:51 ` J. German Rivera
  2015-10-14 19:51 ` [PATCH v2 07/12] staging: fsl-mc: Fixed alignment of copyright comment J. German Rivera
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: J. German Rivera @ 2015-10-14 19:51 UTC (permalink / raw)
  To: gregkh, arnd, devel, linux-kernel
  Cc: stuart.yoder, itai.katz, lijun.pan, leoli, scottwood, agraf,
	bhamciu1, R89243, bhupesh.sharma, nir.erez, richard.schmitt,
	dan.carpenter, J. German Rivera

The macros were a left-over from a previous implementation
of the dpmcp APIs and are no longer used.
---
CHANGE HISTORY

Changes in v2: none

 drivers/staging/fsl-mc/bus/dpmcp-cmd.h | 79 ----------------------------------
 1 file changed, 79 deletions(-)

diff --git a/drivers/staging/fsl-mc/bus/dpmcp-cmd.h b/drivers/staging/fsl-mc/bus/dpmcp-cmd.h
index 6cc0fed..a87e9f8 100644
--- a/drivers/staging/fsl-mc/bus/dpmcp-cmd.h
+++ b/drivers/staging/fsl-mc/bus/dpmcp-cmd.h
@@ -54,83 +54,4 @@
 #define DPMCP_CMDID_GET_IRQ_STATUS			0x016
 #define DPMCP_CMDID_CLEAR_IRQ_STATUS			0x017

-/*                cmd, param, offset, width, type, arg_name */
-#define DPMCP_CMD_CREATE(cmd, cfg) \
-	MC_CMD_OP(cmd, 0, 0,  32, int,      cfg->portal_id)
-
-/*                cmd, param, offset, width, type, arg_name */
-#define DPMCP_CMD_SET_IRQ(cmd, irq_index, irq_addr, irq_val, user_irq_id) \
-do { \
-	MC_CMD_OP(cmd, 0, 0,  8,  uint8_t,  irq_index);\
-	MC_CMD_OP(cmd, 0, 32, 32, uint32_t, irq_val);\
-	MC_CMD_OP(cmd, 1, 0,  64, uint64_t, irq_addr); \
-	MC_CMD_OP(cmd, 2, 0,  32, int,	    user_irq_id); \
-} while (0)
-
-/*                cmd, param, offset, width, type, arg_name */
-#define DPMCP_CMD_GET_IRQ(cmd, irq_index) \
-	MC_CMD_OP(cmd, 0, 32, 8,  uint8_t,  irq_index)
-
-/*                cmd, param, offset, width, type, arg_name */
-#define DPMCP_RSP_GET_IRQ(cmd, type, irq_addr, irq_val, user_irq_id) \
-do { \
-	MC_RSP_OP(cmd, 0, 0,  32, uint32_t, irq_val); \
-	MC_RSP_OP(cmd, 1, 0,  64, uint64_t, irq_addr); \
-	MC_RSP_OP(cmd, 2, 0,  32, int,	    user_irq_id); \
-	MC_RSP_OP(cmd, 2, 32, 32, int,	    type); \
-} while (0)
-
-/*                cmd, param, offset, width, type, arg_name */
-#define DPMCP_CMD_SET_IRQ_ENABLE(cmd, irq_index, en) \
-do { \
-	MC_CMD_OP(cmd, 0, 0,  8,  uint8_t,  en); \
-	MC_CMD_OP(cmd, 0, 32, 8,  uint8_t,  irq_index);\
-} while (0)
-
-/*                cmd, param, offset, width, type, arg_name */
-#define DPMCP_CMD_GET_IRQ_ENABLE(cmd, irq_index) \
-	MC_CMD_OP(cmd, 0, 32, 8,  uint8_t,  irq_index)
-
-/*                cmd, param, offset, width, type, arg_name */
-#define DPMCP_RSP_GET_IRQ_ENABLE(cmd, en) \
-	MC_RSP_OP(cmd, 0, 0,  8,  uint8_t,  en)
-
-/*                cmd, param, offset, width, type, arg_name */
-#define DPMCP_CMD_SET_IRQ_MASK(cmd, irq_index, mask) \
-do { \
-	MC_CMD_OP(cmd, 0, 0,  32, uint32_t, mask);\
-	MC_CMD_OP(cmd, 0, 32, 8,  uint8_t,  irq_index);\
-} while (0)
-
-/*                cmd, param, offset, width, type, arg_name */
-#define DPMCP_CMD_GET_IRQ_MASK(cmd, irq_index) \
-	MC_CMD_OP(cmd, 0, 32, 8,  uint8_t,  irq_index)
-
-/*                cmd, param, offset, width, type, arg_name */
-#define DPMCP_RSP_GET_IRQ_MASK(cmd, mask) \
-	MC_RSP_OP(cmd, 0, 0,  32, uint32_t, mask)
-
-/*                cmd, param, offset, width, type, arg_name */
-#define DPMCP_CMD_GET_IRQ_STATUS(cmd, irq_index) \
-	MC_CMD_OP(cmd, 0, 32, 8,  uint8_t,  irq_index)
-
-/*                cmd, param, offset, width, type, arg_name */
-#define DPMCP_RSP_GET_IRQ_STATUS(cmd, status) \
-	MC_RSP_OP(cmd, 0, 0,  32, uint32_t, status)
-
-/*                cmd, param, offset, width, type, arg_name */
-#define DPMCP_CMD_CLEAR_IRQ_STATUS(cmd, irq_index, status) \
-do { \
-	MC_CMD_OP(cmd, 0, 0,  32, uint32_t, status); \
-	MC_CMD_OP(cmd, 0, 32, 8,  uint8_t,  irq_index);\
-} while (0)
-
-/*                cmd, param, offset, width, type,	arg_name */
-#define DPMCP_RSP_GET_ATTRIBUTES(cmd, attr) \
-do { \
-	MC_RSP_OP(cmd, 0, 32, 32, int,	    attr->id);\
-	MC_RSP_OP(cmd, 1, 0,  16, uint16_t, attr->version.major);\
-	MC_RSP_OP(cmd, 1, 16, 16, uint16_t, attr->version.minor);\
-} while (0)
-
 #endif /* _FSL_DPMCP_CMD_H */
--
2.3.3


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2 07/12] staging: fsl-mc: Fixed alignment of copyright comment
  2015-10-14 19:51 [PATCH v2 00/12] staging: fsl-mc: Cleanup and bug fixes J. German Rivera
                   ` (5 preceding siblings ...)
  2015-10-14 19:51 ` [PATCH v2 06/12] staging: fsl-mc: Removed unused DPMCP macros J. German Rivera
@ 2015-10-14 19:51 ` J. German Rivera
  2015-10-14 19:51 ` [PATCH v2 08/12] staging: fsl-mc: Fixed bug in fsl_mc_allocator_remove J. German Rivera
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: J. German Rivera @ 2015-10-14 19:51 UTC (permalink / raw)
  To: gregkh, arnd, devel, linux-kernel
  Cc: stuart.yoder, itai.katz, lijun.pan, leoli, scottwood, agraf,
	bhamciu1, R89243, bhupesh.sharma, nir.erez, richard.schmitt,
	dan.carpenter, J. German Rivera

Whitespace cleanup-- add missing spaces in column 1 of copyright
---
CHANGE HISTORY

Changes in v2: none

 drivers/staging/fsl-mc/include/dpcon-cmd.h | 60 +++++++++++++++---------------
 1 file changed, 30 insertions(+), 30 deletions(-)

diff --git a/drivers/staging/fsl-mc/include/dpcon-cmd.h b/drivers/staging/fsl-mc/include/dpcon-cmd.h
index 2617024..536b2ef 100644
--- a/drivers/staging/fsl-mc/include/dpcon-cmd.h
+++ b/drivers/staging/fsl-mc/include/dpcon-cmd.h
@@ -1,34 +1,34 @@
 /* Copyright 2013-2015 Freescale Semiconductor Inc.
-*
-* Redistribution and use in source and binary forms, with or without
-* modification, are permitted provided that the following conditions are met:
-* * Redistributions of source code must retain the above copyright
-* notice, this list of conditions and the following disclaimer.
-* * Redistributions in binary form must reproduce the above copyright
-* notice, this list of conditions and the following disclaimer in the
-* documentation and/or other materials provided with the distribution.
-* * Neither the name of the above-listed copyright holders nor the
-* names of any contributors may be used to endorse or promote products
-* derived from this software without specific prior written permission.
-*
-*
-* ALTERNATIVELY, this software may be distributed under the terms of the
-* GNU General Public License ("GPL") as published by the Free Software
-* Foundation, either version 2 of that License or (at your option) any
-* later version.
-*
-* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
-* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-* POSSIBILITY OF SUCH DAMAGE.
-*/
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * * Neither the name of the above-listed copyright holders nor the
+ * names of any contributors may be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ *
+ * ALTERNATIVELY, this software may be distributed under the terms of the
+ * GNU General Public License ("GPL") as published by the Free Software
+ * Foundation, either version 2 of that License or (at your option) any
+ * later version.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
 #ifndef _FSL_DPCON_CMD_H
 #define _FSL_DPCON_CMD_H

--
2.3.3


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2 08/12] staging: fsl-mc: Fixed bug in fsl_mc_allocator_remove
  2015-10-14 19:51 [PATCH v2 00/12] staging: fsl-mc: Cleanup and bug fixes J. German Rivera
                   ` (6 preceding siblings ...)
  2015-10-14 19:51 ` [PATCH v2 07/12] staging: fsl-mc: Fixed alignment of copyright comment J. German Rivera
@ 2015-10-14 19:51 ` J. German Rivera
  2015-10-14 19:51 ` [PATCH v2 09/12] staging: fsl-mc: refactored error exit in allocator probe/remove J. German Rivera
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: J. German Rivera @ 2015-10-14 19:51 UTC (permalink / raw)
  To: gregkh, arnd, devel, linux-kernel
  Cc: stuart.yoder, itai.katz, lijun.pan, leoli, scottwood, agraf,
	bhamciu1, R89243, bhupesh.sharma, nir.erez, richard.schmitt,
	dan.carpenter, J. German Rivera

Call fsl_mc_resource_pool_remove_device() only if mc_dev->resource
is not NULL.
---
CHANGE HISTORY

Changes in v2: none

 drivers/staging/fsl-mc/bus/mc-allocator.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/fsl-mc/bus/mc-allocator.c b/drivers/staging/fsl-mc/bus/mc-allocator.c
index 527cb4b..e9c3dec 100644
--- a/drivers/staging/fsl-mc/bus/mc-allocator.c
+++ b/drivers/staging/fsl-mc/bus/mc-allocator.c
@@ -511,9 +511,11 @@ static int fsl_mc_allocator_remove(struct fsl_mc_device *mc_dev)
 	if (WARN_ON(!FSL_MC_IS_ALLOCATABLE(mc_dev->obj_desc.type)))
 		goto out;

-	error = fsl_mc_resource_pool_remove_device(mc_dev);
-	if (error < 0)
-		goto out;
+	if (mc_dev->resource) {
+		error = fsl_mc_resource_pool_remove_device(mc_dev);
+		if (error < 0)
+			goto out;
+	}

 	dev_dbg(&mc_dev->dev,
 		"Allocatable MC object device unbound from fsl_mc_allocator driver");
--
2.3.3


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2 09/12] staging: fsl-mc: refactored error exit in allocator probe/remove
  2015-10-14 19:51 [PATCH v2 00/12] staging: fsl-mc: Cleanup and bug fixes J. German Rivera
                   ` (7 preceding siblings ...)
  2015-10-14 19:51 ` [PATCH v2 08/12] staging: fsl-mc: Fixed bug in fsl_mc_allocator_remove J. German Rivera
@ 2015-10-14 19:51 ` J. German Rivera
  2015-10-14 19:51 ` [PATCH v2 10/12] staging: fsl-mc: Fixed WARN_ON() in fsl_mc_resource_pool_remove_device J. German Rivera
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 15+ messages in thread
From: J. German Rivera @ 2015-10-14 19:51 UTC (permalink / raw)
  To: gregkh, arnd, devel, linux-kernel
  Cc: stuart.yoder, itai.katz, lijun.pan, leoli, scottwood, agraf,
	bhamciu1, R89243, bhupesh.sharma, nir.erez, richard.schmitt,
	dan.carpenter, J. German Rivera

Replaced error gotos with direct returns in fsl_mc_allocator_probe()
and fsl_mc_allocator_remove(), since the only error handling done
in those functions is to exit.

Signed-off-by: J. German Rivera <German.Rivera@freescale.com>
---
CHANGE HISTORY

Changes in v2: none

 drivers/staging/fsl-mc/bus/mc-allocator.c | 23 +++++++++--------------
 1 file changed, 9 insertions(+), 14 deletions(-)

diff --git a/drivers/staging/fsl-mc/bus/mc-allocator.c b/drivers/staging/fsl-mc/bus/mc-allocator.c
index e9c3dec..a45293b 100644
--- a/drivers/staging/fsl-mc/bus/mc-allocator.c
+++ b/drivers/staging/fsl-mc/bus/mc-allocator.c
@@ -474,30 +474,27 @@ static int fsl_mc_allocator_probe(struct fsl_mc_device *mc_dev)
 	enum fsl_mc_pool_type pool_type;
 	struct fsl_mc_device *mc_bus_dev;
 	struct fsl_mc_bus *mc_bus;
-	int error = -EINVAL;
+	int error;

 	if (WARN_ON(!FSL_MC_IS_ALLOCATABLE(mc_dev->obj_desc.type)))
-		goto error;
+		return -EINVAL;

 	mc_bus_dev = to_fsl_mc_device(mc_dev->dev.parent);
 	if (WARN_ON(mc_bus_dev->dev.bus != &fsl_mc_bus_type))
-		goto error;
+		return -EINVAL;

 	mc_bus = to_fsl_mc_bus(mc_bus_dev);
 	error = object_type_to_pool_type(mc_dev->obj_desc.type, &pool_type);
 	if (error < 0)
-		goto error;
+		return error;

 	error = fsl_mc_resource_pool_add_device(mc_bus, pool_type, mc_dev);
 	if (error < 0)
-		goto error;
+		return error;

 	dev_dbg(&mc_dev->dev,
 		"Allocatable MC object device bound to fsl_mc_allocator driver");
 	return 0;
-error:
-
-	return error;
 }

 /**
@@ -506,22 +503,20 @@ error:
  */
 static int fsl_mc_allocator_remove(struct fsl_mc_device *mc_dev)
 {
-	int error = -EINVAL;
+	int error;

 	if (WARN_ON(!FSL_MC_IS_ALLOCATABLE(mc_dev->obj_desc.type)))
-		goto out;
+		return -EINVAL;

 	if (mc_dev->resource) {
 		error = fsl_mc_resource_pool_remove_device(mc_dev);
 		if (error < 0)
-			goto out;
+			return error;
 	}

 	dev_dbg(&mc_dev->dev,
 		"Allocatable MC object device unbound from fsl_mc_allocator driver");
-	error = 0;
-out:
-	return error;
+	return 0;
 }

 static const struct fsl_mc_device_match_id match_id_table[] = {
--
2.3.3


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2 10/12] staging: fsl-mc: Fixed WARN_ON() in fsl_mc_resource_pool_remove_device
  2015-10-14 19:51 [PATCH v2 00/12] staging: fsl-mc: Cleanup and bug fixes J. German Rivera
                   ` (8 preceding siblings ...)
  2015-10-14 19:51 ` [PATCH v2 09/12] staging: fsl-mc: refactored error exit in allocator probe/remove J. German Rivera
@ 2015-10-14 19:51 ` J. German Rivera
  2015-10-14 19:51 ` [PATCH v2 11/12] staging: fsl-mc: fixed bug in uninitialized root dprc irq count J. German Rivera
  2015-10-14 19:51 ` [PATCH v2 12/12] staging: fsl-mc: Added missing initializer in fsl_mc_bus_driver J. German Rivera
  11 siblings, 0 replies; 15+ messages in thread
From: J. German Rivera @ 2015-10-14 19:51 UTC (permalink / raw)
  To: gregkh, arnd, devel, linux-kernel
  Cc: stuart.yoder, itai.katz, lijun.pan, leoli, scottwood, agraf,
	bhamciu1, R89243, bhupesh.sharma, nir.erez, richard.schmitt,
	dan.carpenter, J. German Rivera

Check that resource is not NULL before de-referencing it.
---
CHANGE HISTORY

Changes in v2: none

 drivers/staging/fsl-mc/bus/mc-allocator.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/staging/fsl-mc/bus/mc-allocator.c b/drivers/staging/fsl-mc/bus/mc-allocator.c
index a45293b..88d1857 100644
--- a/drivers/staging/fsl-mc/bus/mc-allocator.c
+++ b/drivers/staging/fsl-mc/bus/mc-allocator.c
@@ -111,7 +111,7 @@ static int __must_check fsl_mc_resource_pool_remove_device(struct fsl_mc_device
 		goto out;

 	resource = mc_dev->resource;
-	if (WARN_ON(resource->data != mc_dev))
+	if (WARN_ON(!resource || resource->data != mc_dev))
 		goto out;

 	mc_bus_dev = to_fsl_mc_device(mc_dev->dev.parent);
--
2.3.3


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2 11/12] staging: fsl-mc: fixed bug in uninitialized root dprc irq count
  2015-10-14 19:51 [PATCH v2 00/12] staging: fsl-mc: Cleanup and bug fixes J. German Rivera
                   ` (9 preceding siblings ...)
  2015-10-14 19:51 ` [PATCH v2 10/12] staging: fsl-mc: Fixed WARN_ON() in fsl_mc_resource_pool_remove_device J. German Rivera
@ 2015-10-14 19:51 ` J. German Rivera
  2015-10-14 19:51 ` [PATCH v2 12/12] staging: fsl-mc: Added missing initializer in fsl_mc_bus_driver J. German Rivera
  11 siblings, 0 replies; 15+ messages in thread
From: J. German Rivera @ 2015-10-14 19:51 UTC (permalink / raw)
  To: gregkh, arnd, devel, linux-kernel
  Cc: stuart.yoder, itai.katz, lijun.pan, leoli, scottwood, agraf,
	bhamciu1, R89243, bhupesh.sharma, nir.erez, richard.schmitt,
	dan.carpenter, J. German Rivera

When initializing the object attributes for the root dprc, the
irq_count was uninitialized. Initialize it to 1.
---
CHANGE HISTORY

Changes in v2: none

 drivers/staging/fsl-mc/bus/mc-bus.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/staging/fsl-mc/bus/mc-bus.c b/drivers/staging/fsl-mc/bus/mc-bus.c
index fd13053..4ac3d07 100644
--- a/drivers/staging/fsl-mc/bus/mc-bus.c
+++ b/drivers/staging/fsl-mc/bus/mc-bus.c
@@ -749,6 +749,7 @@ static int fsl_mc_bus_probe(struct platform_device *pdev)
 	obj_desc.id = container_id;
 	obj_desc.ver_major = DPRC_VER_MAJOR;
 	obj_desc.ver_minor = DPRC_VER_MINOR;
+	obj_desc.irq_count = 1;
 	obj_desc.region_count = 0;

 	error = fsl_mc_device_add(&obj_desc, mc_io, &pdev->dev, &mc_bus_dev);
--
2.3.3


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH v2 12/12] staging: fsl-mc: Added missing initializer in fsl_mc_bus_driver
  2015-10-14 19:51 [PATCH v2 00/12] staging: fsl-mc: Cleanup and bug fixes J. German Rivera
                   ` (10 preceding siblings ...)
  2015-10-14 19:51 ` [PATCH v2 11/12] staging: fsl-mc: fixed bug in uninitialized root dprc irq count J. German Rivera
@ 2015-10-14 19:51 ` J. German Rivera
  11 siblings, 0 replies; 15+ messages in thread
From: J. German Rivera @ 2015-10-14 19:51 UTC (permalink / raw)
  To: gregkh, arnd, devel, linux-kernel
  Cc: stuart.yoder, itai.katz, lijun.pan, leoli, scottwood, agraf,
	bhamciu1, R89243, bhupesh.sharma, nir.erez, richard.schmitt,
	dan.carpenter, J. German Rivera

owner needs to be initialized as THIS_MOUDLE.
---
CHANGE HISTORY

Changes in v2: none

 drivers/staging/fsl-mc/bus/mc-bus.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/staging/fsl-mc/bus/mc-bus.c b/drivers/staging/fsl-mc/bus/mc-bus.c
index 4ac3d07..84db55b 100644
--- a/drivers/staging/fsl-mc/bus/mc-bus.c
+++ b/drivers/staging/fsl-mc/bus/mc-bus.c
@@ -790,6 +790,7 @@ MODULE_DEVICE_TABLE(of, fsl_mc_bus_match_table);
 static struct platform_driver fsl_mc_bus_driver = {
 	.driver = {
 		   .name = "fsl_mc_bus",
+		   .owner = THIS_MODULE,
 		   .pm = NULL,
 		   .of_match_table = fsl_mc_bus_match_table,
 		   },
--
2.3.3


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH v2 01/12] staging: fsl-mc: Naming cleanup in fsl_mc-portal_allocate
  2015-10-14 19:51 ` [PATCH v2 01/12] staging: fsl-mc: Naming cleanup in fsl_mc-portal_allocate J. German Rivera
@ 2015-10-17  6:15   ` Greg KH
  2015-10-17 16:08     ` Jose Rivera
  0 siblings, 1 reply; 15+ messages in thread
From: Greg KH @ 2015-10-17  6:15 UTC (permalink / raw)
  To: J. German Rivera
  Cc: arnd, devel, linux-kernel, bhamciu1, bhupesh.sharma, agraf,
	stuart.yoder, nir.erez, itai.katz, scottwood, lijun.pan, leoli,
	R89243, dan.carpenter, richard.schmitt

On Wed, Oct 14, 2015 at 02:51:40PM -0500, J. German Rivera wrote:
> mc_adev is a local variable for the allocated dpmcp object.
> Renamed mc_adev as dpmcp_dev for clarity.
> ---
> CHANGE HISTORY
> 
> Changes in v2: none

None of the patches in this series has a signed-off-by: line, as
required by Documentation/SubmittingPatches, so I'm guessing you don't
want them actually applied :(

^ permalink raw reply	[flat|nested] 15+ messages in thread

* RE: [PATCH v2 01/12] staging: fsl-mc: Naming cleanup in fsl_mc-portal_allocate
  2015-10-17  6:15   ` Greg KH
@ 2015-10-17 16:08     ` Jose Rivera
  0 siblings, 0 replies; 15+ messages in thread
From: Jose Rivera @ 2015-10-17 16:08 UTC (permalink / raw)
  To: Greg KH
  Cc: arnd, devel, linux-kernel, Hamciuc Bogdan, Sharma Bhupesh, agraf,
	Stuart Yoder, Erez Nir, Katz Itai, Scott Wood, Lijun Pan, Li Leo,
	Marginean Alexandru, dan.carpenter, Richard Schmitt

> -----Original Message-----
> From: Greg KH [mailto:gregkh@linuxfoundation.org]
> Sent: Saturday, October 17, 2015 1:16 AM
> To: Rivera Jose-B46482
> Cc: arnd@arndb.de; devel@driverdev.osuosl.org; linux-
> kernel@vger.kernel.org; Hamciuc Bogdan-BHAMCIU1; Sharma Bhupesh-B45370;
> agraf@suse.de; Yoder Stuart-B08248; Erez Nir-RM30794; katz Itai-RM05202;
> Wood Scott-B07421; Pan Lijun-B44306; Li Yang-Leo-R58472; Marginean
> Alexandru-R89243; dan.carpenter@oracle.com; Schmitt Richard-B43082
> Subject: Re: [PATCH v2 01/12] staging: fsl-mc: Naming cleanup in fsl_mc-
> portal_allocate
> 
> On Wed, Oct 14, 2015 at 02:51:40PM -0500, J. German Rivera wrote:
> > mc_adev is a local variable for the allocated dpmcp object.
> > Renamed mc_adev as dpmcp_dev for clarity.
> > ---
> > CHANGE HISTORY
> >
> > Changes in v2: none
> 
> None of the patches in this series has a signed-off-by: line, as required
> by Documentation/SubmittingPatches, so I'm guessing you don't want them
> actually applied :(

Greg,

I apologize for that oversight. I'll send a respin fixing this.

Thanks,

German

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2015-10-17 16:08 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-14 19:51 [PATCH v2 00/12] staging: fsl-mc: Cleanup and bug fixes J. German Rivera
2015-10-14 19:51 ` [PATCH v2 01/12] staging: fsl-mc: Naming cleanup in fsl_mc-portal_allocate J. German Rivera
2015-10-17  6:15   ` Greg KH
2015-10-17 16:08     ` Jose Rivera
2015-10-14 19:51 ` [PATCH v2 02/12] staging: fsl-mc: fsl_mc_io object refactoring J. German Rivera
2015-10-14 19:51 ` [PATCH v2 03/12] staging: fsl-mc: dpmcp opening/closing refactoring J. German Rivera
2015-10-14 19:51 ` [PATCH v2 04/12] staging: fsl-mc: Changed dev_info() calls to dev_dbg() J. German Rivera
2015-10-14 19:51 ` [PATCH v2 05/12] staging_fsl-mc: Changed types of flags, portal size in J. German Rivera
2015-10-14 19:51 ` [PATCH v2 06/12] staging: fsl-mc: Removed unused DPMCP macros J. German Rivera
2015-10-14 19:51 ` [PATCH v2 07/12] staging: fsl-mc: Fixed alignment of copyright comment J. German Rivera
2015-10-14 19:51 ` [PATCH v2 08/12] staging: fsl-mc: Fixed bug in fsl_mc_allocator_remove J. German Rivera
2015-10-14 19:51 ` [PATCH v2 09/12] staging: fsl-mc: refactored error exit in allocator probe/remove J. German Rivera
2015-10-14 19:51 ` [PATCH v2 10/12] staging: fsl-mc: Fixed WARN_ON() in fsl_mc_resource_pool_remove_device J. German Rivera
2015-10-14 19:51 ` [PATCH v2 11/12] staging: fsl-mc: fixed bug in uninitialized root dprc irq count J. German Rivera
2015-10-14 19:51 ` [PATCH v2 12/12] staging: fsl-mc: Added missing initializer in fsl_mc_bus_driver J. German Rivera

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.