All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] MC minor cleanups
@ 2015-09-09 11:32 Mauro Carvalho Chehab
  2015-09-09 11:32 ` [PATCH 1/2] [media] media_entity: remove gfp_flags argument Mauro Carvalho Chehab
  2015-09-09 11:32 ` [PATCH 2/2] [media] media-device: use unsigned ints on some places Mauro Carvalho Chehab
  0 siblings, 2 replies; 7+ messages in thread
From: Mauro Carvalho Chehab @ 2015-09-09 11:32 UTC (permalink / raw)
  To: Linux Media Mailing List; +Cc: Mauro Carvalho Chehab, Mauro Carvalho Chehab

This two patch series do some minor cleanups as suggested by Sakari.

Mauro Carvalho Chehab (2):
  [media] media_entity: remove gfp_flags argument
  [media] media-device: use unsigned ints on some places

 drivers/media/dvb-core/dvbdev.c    | 3 +--
 drivers/media/media-device.c       | 7 ++++---
 drivers/media/media-entity.c       | 5 ++---
 drivers/media/v4l2-core/v4l2-dev.c | 3 +--
 include/media/media-entity.h       | 4 +---
 5 files changed, 9 insertions(+), 13 deletions(-)

-- 
2.4.3



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

* [PATCH 1/2] [media] media_entity: remove gfp_flags argument
  2015-09-09 11:32 [PATCH 0/2] MC minor cleanups Mauro Carvalho Chehab
@ 2015-09-09 11:32 ` Mauro Carvalho Chehab
  2015-09-09 11:36   ` Hans Verkuil
  2015-11-23 16:41   ` Laurent Pinchart
  2015-09-09 11:32 ` [PATCH 2/2] [media] media-device: use unsigned ints on some places Mauro Carvalho Chehab
  1 sibling, 2 replies; 7+ messages in thread
From: Mauro Carvalho Chehab @ 2015-09-09 11:32 UTC (permalink / raw)
  To: Linux Media Mailing List
  Cc: Mauro Carvalho Chehab, Hans Verkuil, Sakari Ailus

We should not be creating device nodes at IRQ contexts. So,
the only flags we'll be using will be GFP_KERNEL. Let's
remove the gfp_flags, in order to make the interface simpler.

If we ever need it, it would be easy to revert those changes.

While here, remove an extra blank line.

Suggested-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>

diff --git a/drivers/media/dvb-core/dvbdev.c b/drivers/media/dvb-core/dvbdev.c
index e9f24c1479dd..60828a9537a0 100644
--- a/drivers/media/dvb-core/dvbdev.c
+++ b/drivers/media/dvb-core/dvbdev.c
@@ -379,8 +379,7 @@ static int dvb_register_media_device(struct dvb_device *dvbdev,
 
 	dvbdev->intf_devnode = media_devnode_create(dvbdev->adapter->mdev,
 						    intf_type, 0,
-						    DVB_MAJOR, minor,
-						    GFP_KERNEL);
+						    DVB_MAJOR, minor);
 
 	if (!dvbdev->intf_devnode)
 		return -ENOMEM;
diff --git a/drivers/media/media-entity.c b/drivers/media/media-entity.c
index 4868b8269204..f28265864b76 100644
--- a/drivers/media/media-entity.c
+++ b/drivers/media/media-entity.c
@@ -887,12 +887,11 @@ static void media_interface_init(struct media_device *mdev,
 
 struct media_intf_devnode *media_devnode_create(struct media_device *mdev,
 						u32 type, u32 flags,
-						u32 major, u32 minor,
-						gfp_t gfp_flags)
+						u32 major, u32 minor)
 {
 	struct media_intf_devnode *devnode;
 
-	devnode = kzalloc(sizeof(*devnode), gfp_flags);
+	devnode = kzalloc(sizeof(*devnode), GFP_KERNEL);
 	if (!devnode)
 		return NULL;
 
diff --git a/drivers/media/v4l2-core/v4l2-dev.c b/drivers/media/v4l2-core/v4l2-dev.c
index 430aa2330d07..982255d2063f 100644
--- a/drivers/media/v4l2-core/v4l2-dev.c
+++ b/drivers/media/v4l2-core/v4l2-dev.c
@@ -777,8 +777,7 @@ static int video_register_media_controller(struct video_device *vdev, int type)
 	vdev->intf_devnode = media_devnode_create(vdev->v4l2_dev->mdev,
 						  intf_type,
 						  0, VIDEO_MAJOR,
-						  vdev->minor,
-						  GFP_KERNEL);
+						  vdev->minor);
 	if (!vdev->intf_devnode) {
 		media_device_unregister_entity(&vdev->entity);
 		return -ENOMEM;
diff --git a/include/media/media-entity.h b/include/media/media-entity.h
index 9cbb10079024..44ab153c37fc 100644
--- a/include/media/media-entity.h
+++ b/include/media/media-entity.h
@@ -71,7 +71,6 @@ struct media_gobj {
 	struct list_head	list;
 };
 
-
 struct media_pipeline {
 };
 
@@ -373,8 +372,7 @@ void media_entity_pipeline_stop(struct media_entity *entity);
 struct media_intf_devnode *
 __must_check media_devnode_create(struct media_device *mdev,
 				  u32 type, u32 flags,
-				  u32 major, u32 minor,
-				  gfp_t gfp_flags);
+				  u32 major, u32 minor);
 void media_devnode_remove(struct media_intf_devnode *devnode);
 struct media_link *
 __must_check media_create_intf_link(struct media_entity *entity,
-- 
2.4.3



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

* [PATCH 2/2] [media] media-device: use unsigned ints on some places
  2015-09-09 11:32 [PATCH 0/2] MC minor cleanups Mauro Carvalho Chehab
  2015-09-09 11:32 ` [PATCH 1/2] [media] media_entity: remove gfp_flags argument Mauro Carvalho Chehab
@ 2015-09-09 11:32 ` Mauro Carvalho Chehab
  2015-09-09 11:36   ` Hans Verkuil
  2015-11-23 16:25   ` Laurent Pinchart
  1 sibling, 2 replies; 7+ messages in thread
From: Mauro Carvalho Chehab @ 2015-09-09 11:32 UTC (permalink / raw)
  To: Linux Media Mailing List; +Cc: Mauro Carvalho Chehab

The entity->num_pads are defined as u16. So, better to use an
unsigned int, as this prevents additional warnings when W=2
(or W=1 on some architectures).

The "i" counter at __media_device_get_topology() is also a
monotonic counter that should never be below zero. So,
make it unsigned too.

Suggested-by: Sakari Ailus <sakari.ailus@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>

diff --git a/drivers/media/media-device.c b/drivers/media/media-device.c
index 13987710e5bc..1312e93ebd6e 100644
--- a/drivers/media/media-device.c
+++ b/drivers/media/media-device.c
@@ -243,7 +243,8 @@ static long __media_device_get_topology(struct media_device *mdev,
 	struct media_v2_interface uintf;
 	struct media_v2_pad upad;
 	struct media_v2_link ulink;
-	int ret = 0, i;
+	int ret = 0;
+	unsigned int i;
 
 	topo->topology_version = mdev->topology_version;
 
@@ -613,7 +614,7 @@ EXPORT_SYMBOL_GPL(media_device_unregister);
 int __must_check media_device_register_entity(struct media_device *mdev,
 					      struct media_entity *entity)
 {
-	int i;
+	unsigned int i;
 
 	if (entity->function == MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN ||
 	    entity->function == MEDIA_ENT_F_UNKNOWN)
@@ -650,9 +651,9 @@ EXPORT_SYMBOL_GPL(media_device_register_entity);
  */
 void media_device_unregister_entity(struct media_entity *entity)
 {
-	int i;
 	struct media_device *mdev = entity->graph_obj.mdev;
 	struct media_link *link, *tmp;
+	unsigned int i;
 
 	if (mdev == NULL)
 		return;
-- 
2.4.3



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

* Re: [PATCH 2/2] [media] media-device: use unsigned ints on some places
  2015-09-09 11:32 ` [PATCH 2/2] [media] media-device: use unsigned ints on some places Mauro Carvalho Chehab
@ 2015-09-09 11:36   ` Hans Verkuil
  2015-11-23 16:25   ` Laurent Pinchart
  1 sibling, 0 replies; 7+ messages in thread
From: Hans Verkuil @ 2015-09-09 11:36 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Linux Media Mailing List

On 09/09/15 13:32, Mauro Carvalho Chehab wrote:
> The entity->num_pads are defined as u16. So, better to use an
> unsigned int, as this prevents additional warnings when W=2
> (or W=1 on some architectures).
> 
> The "i" counter at __media_device_get_topology() is also a
> monotonic counter that should never be below zero. So,
> make it unsigned too.
> 
> Suggested-by: Sakari Ailus <sakari.ailus@iki.fi>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>

Acked-by: Hans Verkuil <hans.verkuil@cisco.com>

> 
> diff --git a/drivers/media/media-device.c b/drivers/media/media-device.c
> index 13987710e5bc..1312e93ebd6e 100644
> --- a/drivers/media/media-device.c
> +++ b/drivers/media/media-device.c
> @@ -243,7 +243,8 @@ static long __media_device_get_topology(struct media_device *mdev,
>  	struct media_v2_interface uintf;
>  	struct media_v2_pad upad;
>  	struct media_v2_link ulink;
> -	int ret = 0, i;
> +	int ret = 0;
> +	unsigned int i;
>  
>  	topo->topology_version = mdev->topology_version;
>  
> @@ -613,7 +614,7 @@ EXPORT_SYMBOL_GPL(media_device_unregister);
>  int __must_check media_device_register_entity(struct media_device *mdev,
>  					      struct media_entity *entity)
>  {
> -	int i;
> +	unsigned int i;
>  
>  	if (entity->function == MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN ||
>  	    entity->function == MEDIA_ENT_F_UNKNOWN)
> @@ -650,9 +651,9 @@ EXPORT_SYMBOL_GPL(media_device_register_entity);
>   */
>  void media_device_unregister_entity(struct media_entity *entity)
>  {
> -	int i;
>  	struct media_device *mdev = entity->graph_obj.mdev;
>  	struct media_link *link, *tmp;
> +	unsigned int i;
>  
>  	if (mdev == NULL)
>  		return;
> 

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

* Re: [PATCH 1/2] [media] media_entity: remove gfp_flags argument
  2015-09-09 11:32 ` [PATCH 1/2] [media] media_entity: remove gfp_flags argument Mauro Carvalho Chehab
@ 2015-09-09 11:36   ` Hans Verkuil
  2015-11-23 16:41   ` Laurent Pinchart
  1 sibling, 0 replies; 7+ messages in thread
From: Hans Verkuil @ 2015-09-09 11:36 UTC (permalink / raw)
  To: Mauro Carvalho Chehab, Linux Media Mailing List
  Cc: Hans Verkuil, Sakari Ailus

On 09/09/15 13:32, Mauro Carvalho Chehab wrote:
> We should not be creating device nodes at IRQ contexts. So,
> the only flags we'll be using will be GFP_KERNEL. Let's
> remove the gfp_flags, in order to make the interface simpler.
> 
> If we ever need it, it would be easy to revert those changes.
> 
> While here, remove an extra blank line.
> 
> Suggested-by: Sakari Ailus <sakari.ailus@iki.fi>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>

Acked-by: Hans Verkuil <hans.verkuil@cisco.com>

> 
> diff --git a/drivers/media/dvb-core/dvbdev.c b/drivers/media/dvb-core/dvbdev.c
> index e9f24c1479dd..60828a9537a0 100644
> --- a/drivers/media/dvb-core/dvbdev.c
> +++ b/drivers/media/dvb-core/dvbdev.c
> @@ -379,8 +379,7 @@ static int dvb_register_media_device(struct dvb_device *dvbdev,
>  
>  	dvbdev->intf_devnode = media_devnode_create(dvbdev->adapter->mdev,
>  						    intf_type, 0,
> -						    DVB_MAJOR, minor,
> -						    GFP_KERNEL);
> +						    DVB_MAJOR, minor);
>  
>  	if (!dvbdev->intf_devnode)
>  		return -ENOMEM;
> diff --git a/drivers/media/media-entity.c b/drivers/media/media-entity.c
> index 4868b8269204..f28265864b76 100644
> --- a/drivers/media/media-entity.c
> +++ b/drivers/media/media-entity.c
> @@ -887,12 +887,11 @@ static void media_interface_init(struct media_device *mdev,
>  
>  struct media_intf_devnode *media_devnode_create(struct media_device *mdev,
>  						u32 type, u32 flags,
> -						u32 major, u32 minor,
> -						gfp_t gfp_flags)
> +						u32 major, u32 minor)
>  {
>  	struct media_intf_devnode *devnode;
>  
> -	devnode = kzalloc(sizeof(*devnode), gfp_flags);
> +	devnode = kzalloc(sizeof(*devnode), GFP_KERNEL);
>  	if (!devnode)
>  		return NULL;
>  
> diff --git a/drivers/media/v4l2-core/v4l2-dev.c b/drivers/media/v4l2-core/v4l2-dev.c
> index 430aa2330d07..982255d2063f 100644
> --- a/drivers/media/v4l2-core/v4l2-dev.c
> +++ b/drivers/media/v4l2-core/v4l2-dev.c
> @@ -777,8 +777,7 @@ static int video_register_media_controller(struct video_device *vdev, int type)
>  	vdev->intf_devnode = media_devnode_create(vdev->v4l2_dev->mdev,
>  						  intf_type,
>  						  0, VIDEO_MAJOR,
> -						  vdev->minor,
> -						  GFP_KERNEL);
> +						  vdev->minor);
>  	if (!vdev->intf_devnode) {
>  		media_device_unregister_entity(&vdev->entity);
>  		return -ENOMEM;
> diff --git a/include/media/media-entity.h b/include/media/media-entity.h
> index 9cbb10079024..44ab153c37fc 100644
> --- a/include/media/media-entity.h
> +++ b/include/media/media-entity.h
> @@ -71,7 +71,6 @@ struct media_gobj {
>  	struct list_head	list;
>  };
>  
> -
>  struct media_pipeline {
>  };
>  
> @@ -373,8 +372,7 @@ void media_entity_pipeline_stop(struct media_entity *entity);
>  struct media_intf_devnode *
>  __must_check media_devnode_create(struct media_device *mdev,
>  				  u32 type, u32 flags,
> -				  u32 major, u32 minor,
> -				  gfp_t gfp_flags);
> +				  u32 major, u32 minor);
>  void media_devnode_remove(struct media_intf_devnode *devnode);
>  struct media_link *
>  __must_check media_create_intf_link(struct media_entity *entity,
> 

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

* Re: [PATCH 2/2] [media] media-device: use unsigned ints on some places
  2015-09-09 11:32 ` [PATCH 2/2] [media] media-device: use unsigned ints on some places Mauro Carvalho Chehab
  2015-09-09 11:36   ` Hans Verkuil
@ 2015-11-23 16:25   ` Laurent Pinchart
  1 sibling, 0 replies; 7+ messages in thread
From: Laurent Pinchart @ 2015-11-23 16:25 UTC (permalink / raw)
  To: Mauro Carvalho Chehab; +Cc: Linux Media Mailing List

Hi Mauro,

Thank you for the patch.

On Wednesday 09 September 2015 08:32:03 Mauro Carvalho Chehab wrote:
> The entity->num_pads are defined as u16. So, better to use an
> unsigned int, as this prevents additional warnings when W=2
> (or W=1 on some architectures).
> 
> The "i" counter at __media_device_get_topology() is also a
> monotonic counter that should never be below zero. So,
> make it unsigned too.
> 
> Suggested-by: Sakari Ailus <sakari.ailus@iki.fi>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
> 
> diff --git a/drivers/media/media-device.c b/drivers/media/media-device.c
> index 13987710e5bc..1312e93ebd6e 100644
> --- a/drivers/media/media-device.c
> +++ b/drivers/media/media-device.c
> @@ -243,7 +243,8 @@ static long __media_device_get_topology(struct
> media_device *mdev, struct media_v2_interface uintf;
>  	struct media_v2_pad upad;
>  	struct media_v2_link ulink;
> -	int ret = 0, i;
> +	int ret = 0;
> +	unsigned int i;

Very small nitpicking, I'd put the unsigned int i line before the int ret line 
to match the coding style of the rest of the file (with shorter variable 
declaration lines at the bottom).

> 
>  	topo->topology_version = mdev->topology_version;
> 
> @@ -613,7 +614,7 @@ EXPORT_SYMBOL_GPL(media_device_unregister);
>  int __must_check media_device_register_entity(struct media_device *mdev,
>  					      struct media_entity *entity)
>  {
> -	int i;
> +	unsigned int i;
> 
>  	if (entity->function == MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN ||
>  	    entity->function == MEDIA_ENT_F_UNKNOWN)
> @@ -650,9 +651,9 @@ EXPORT_SYMBOL_GPL(media_device_register_entity);
>   */
>  void media_device_unregister_entity(struct media_entity *entity)
>  {
> -	int i;
>  	struct media_device *mdev = entity->graph_obj.mdev;
>  	struct media_link *link, *tmp;
> +	unsigned int i;

Like you've done here, that's very good :-)

> 
>  	if (mdev == NULL)
>  		return;

With that fixed,

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

-- 
Regards,

Laurent Pinchart


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

* Re: [PATCH 1/2] [media] media_entity: remove gfp_flags argument
  2015-09-09 11:32 ` [PATCH 1/2] [media] media_entity: remove gfp_flags argument Mauro Carvalho Chehab
  2015-09-09 11:36   ` Hans Verkuil
@ 2015-11-23 16:41   ` Laurent Pinchart
  1 sibling, 0 replies; 7+ messages in thread
From: Laurent Pinchart @ 2015-11-23 16:41 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: Linux Media Mailing List, Hans Verkuil, Sakari Ailus

Hi Mauro,

Thank you for the patch.

On Wednesday 09 September 2015 08:32:02 Mauro Carvalho Chehab wrote:
> We should not be creating device nodes at IRQ contexts. So,
> the only flags we'll be using will be GFP_KERNEL. Let's
> remove the gfp_flags, in order to make the interface simpler.
> 
> If we ever need it, it would be easy to revert those changes.
> 
> While here, remove an extra blank line.
> 
> Suggested-by: Sakari Ailus <sakari.ailus@iki.fi>
> Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
> 
> diff --git a/drivers/media/dvb-core/dvbdev.c
> b/drivers/media/dvb-core/dvbdev.c index e9f24c1479dd..60828a9537a0 100644
> --- a/drivers/media/dvb-core/dvbdev.c
> +++ b/drivers/media/dvb-core/dvbdev.c
> @@ -379,8 +379,7 @@ static int dvb_register_media_device(struct dvb_device
> *dvbdev,
> 
>  	dvbdev->intf_devnode = media_devnode_create(dvbdev->adapter->mdev,
>  						    intf_type, 0,
> -						    DVB_MAJOR, minor,
> -						    GFP_KERNEL);
> +						    DVB_MAJOR, minor);
> 
>  	if (!dvbdev->intf_devnode)
>  		return -ENOMEM;
> diff --git a/drivers/media/media-entity.c b/drivers/media/media-entity.c
> index 4868b8269204..f28265864b76 100644
> --- a/drivers/media/media-entity.c
> +++ b/drivers/media/media-entity.c
> @@ -887,12 +887,11 @@ static void media_interface_init(struct media_device
> *mdev,
> 
>  struct media_intf_devnode *media_devnode_create(struct media_device *mdev,
>  						u32 type, u32 flags,
> -						u32 major, u32 minor,
> -						gfp_t gfp_flags)
> +						u32 major, u32 minor)
>  {
>  	struct media_intf_devnode *devnode;
> 
> -	devnode = kzalloc(sizeof(*devnode), gfp_flags);
> +	devnode = kzalloc(sizeof(*devnode), GFP_KERNEL);
>  	if (!devnode)
>  		return NULL;
> 
> diff --git a/drivers/media/v4l2-core/v4l2-dev.c
> b/drivers/media/v4l2-core/v4l2-dev.c index 430aa2330d07..982255d2063f
> 100644
> --- a/drivers/media/v4l2-core/v4l2-dev.c
> +++ b/drivers/media/v4l2-core/v4l2-dev.c
> @@ -777,8 +777,7 @@ static int video_register_media_controller(struct
> video_device *vdev, int type) vdev->intf_devnode =
> media_devnode_create(vdev->v4l2_dev->mdev,
>  						  intf_type,
>  						  0, VIDEO_MAJOR,
> -						  vdev->minor,
> -						  GFP_KERNEL);
> +						  vdev->minor);
>  	if (!vdev->intf_devnode) {
>  		media_device_unregister_entity(&vdev->entity);
>  		return -ENOMEM;
> diff --git a/include/media/media-entity.h b/include/media/media-entity.h
> index 9cbb10079024..44ab153c37fc 100644
> --- a/include/media/media-entity.h
> +++ b/include/media/media-entity.h
> @@ -71,7 +71,6 @@ struct media_gobj {
>  	struct list_head	list;
>  };
> 
> -

This belongs to "media: add a common struct to be embed on media graph 
objects". I know that you're reluctant to rebase, split and squash patches 
from fear of introducing breakages, but white space fixes should be really 
harmless :-)

The rest of the patch looks good to me, but as mentioned over IRC, I still 
think it would be beneficial to do a final round of rebase, split and squash 
as otherwise it's pretty difficult to perform a final review and ensure 
everything is right. This patch looks like a pretty safe candidate in that 
regard.

>  struct media_pipeline {
>  };
> 
> @@ -373,8 +372,7 @@ void media_entity_pipeline_stop(struct media_entity
> *entity); struct media_intf_devnode *
>  __must_check media_devnode_create(struct media_device *mdev,
>  				  u32 type, u32 flags,
> -				  u32 major, u32 minor,
> -				  gfp_t gfp_flags);
> +				  u32 major, u32 minor);
>  void media_devnode_remove(struct media_intf_devnode *devnode);
>  struct media_link *
>  __must_check media_create_intf_link(struct media_entity *entity,

-- 
Regards,

Laurent Pinchart


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

end of thread, other threads:[~2015-11-23 16:41 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-09-09 11:32 [PATCH 0/2] MC minor cleanups Mauro Carvalho Chehab
2015-09-09 11:32 ` [PATCH 1/2] [media] media_entity: remove gfp_flags argument Mauro Carvalho Chehab
2015-09-09 11:36   ` Hans Verkuil
2015-11-23 16:41   ` Laurent Pinchart
2015-09-09 11:32 ` [PATCH 2/2] [media] media-device: use unsigned ints on some places Mauro Carvalho Chehab
2015-09-09 11:36   ` Hans Verkuil
2015-11-23 16:25   ` Laurent Pinchart

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.