All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sakari Ailus <sakari.ailus@iki.fi>
To: Jacek Anaszewski <j.anaszewski@samsung.com>
Cc: linux-leds@vger.kernel.org, linux-media@vger.kernel.org,
	devicetree@vger.kernel.org, kyungmin.park@samsung.com,
	pavel@ucw.cz, cooloney@gmail.com, rpurdie@rpsys.net,
	s.nawrocki@samsung.com, Hans Verkuil <hans.verkuil@cisco.com>
Subject: Re: [PATCH v1 07/11] media: Add registration helpers for V4L2 flash sub-devices
Date: Wed, 25 Mar 2015 02:40:38 +0200	[thread overview]
Message-ID: <20150325004037.GE18321@valkosipuli.retiisi.org.uk> (raw)
In-Reply-To: <1426863811-12516-8-git-send-email-j.anaszewski@samsung.com>

Hi Jacek,

One more comment on this one:

On Fri, Mar 20, 2015 at 04:03:27PM +0100, Jacek Anaszewski wrote:
...
> +struct v4l2_flash *v4l2_flash_init(struct led_classdev_flash *fled_cdev,
> +				   const struct v4l2_flash_ops *ops,
> +				   struct v4l2_flash_ctrl_config *config)
> +{
> +	struct v4l2_flash *v4l2_flash;
> +	struct led_classdev *led_cdev = &fled_cdev->led_cdev;
> +	struct v4l2_subdev *sd;
> +	int ret;
> +
> +	if (!fled_cdev || !ops || !config)
> +		return ERR_PTR(-EINVAL);
> +
> +	v4l2_flash = devm_kzalloc(led_cdev->dev, sizeof(*v4l2_flash),
> +					GFP_KERNEL);
> +	if (!v4l2_flash)
> +		return ERR_PTR(-ENOMEM);
> +
> +	sd = &v4l2_flash->sd;
> +	v4l2_flash->fled_cdev = fled_cdev;
> +	v4l2_flash->ops = ops;
> +	sd->dev = led_cdev->dev;
> +	v4l2_subdev_init(sd, &v4l2_flash_subdev_ops);
> +	sd->internal_ops = &v4l2_flash_subdev_internal_ops;
> +	sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
> +	strlcpy(sd->name, config->dev_name, sizeof(sd->name));
> +
> +	ret = media_entity_init(&sd->entity, 0, NULL, 0);
> +	if (ret < 0)
> +		return ERR_PTR(ret);
> +
> +	sd->entity.type = MEDIA_ENT_T_V4L2_SUBDEV_FLASH;
> +
> +	ret = v4l2_flash_init_controls(v4l2_flash, config);
> +	if (ret < 0)
> +		return ERR_PTR(ret);
> +
> +	of_node_get(led_cdev->dev->of_node);
> +
> +	ret = v4l2_async_register_subdev(sd);
> +	if (ret < 0)
> +		goto err_async_register_sd;
> +
> +	return v4l2_flash;
> +
> +err_async_register_sd:
> +	of_node_put(led_cdev->dev->of_node);
> +	v4l2_ctrl_handler_free(sd->ctrl_handler);
> +	media_entity_cleanup(&sd->entity);
> +
> +	return ERR_PTR(ret);
> +}
> +EXPORT_SYMBOL_GPL(v4l2_flash_init);
> +
> +void v4l2_flash_release(struct v4l2_flash *v4l2_flash)
> +{
> +	struct v4l2_subdev *sd = &v4l2_flash->sd;
> +	struct led_classdev *led_cdev = &v4l2_flash->fled_cdev->led_cdev;
> +
> +	v4l2_async_unregister_subdev(sd);
> +	of_node_put(led_cdev->dev->of_node);
> +	v4l2_ctrl_handler_free(sd->ctrl_handler);
> +	media_entity_cleanup(&sd->entity);
> +}
> +EXPORT_SYMBOL_GPL(v4l2_flash_release);

It'd be very nice if v4l2_flash_release() could graciously behave with NULL
or negative error code as an argument, such as those produced by
v4l2_flash_init(). This makes error handling a lot easier in drivers.

-- 
Regards,

Sakari Ailus
e-mail: sakari.ailus@iki.fi	XMPP: sailus@retiisi.org.uk

  parent reply	other threads:[~2015-03-25  0:40 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-20 15:03 [PATCH v1 00/11] LED / flash API integration Jacek Anaszewski
2015-03-20 15:03 ` [PATCH v1 01/11] leds: Add support for max77693 mfd flash cell Jacek Anaszewski
2015-03-21 22:44   ` Sakari Ailus
2015-03-23 13:22     ` Jacek Anaszewski
2015-03-20 15:03 ` [PATCH v1 02/11] DT: Add documentation for the mfd Maxim max77693 Jacek Anaszewski
2015-03-21 22:49   ` Sakari Ailus
2015-03-23  9:54     ` Jacek Anaszewski
2015-03-25  0:55       ` Sakari Ailus
2015-03-26 14:06   ` Lee Jones
2015-03-20 15:03 ` [PATCH v1 03/11] leds: Add driver for AAT1290 current regulator Jacek Anaszewski
2015-03-21 22:55   ` Sakari Ailus
2015-03-20 15:03 ` [PATCH v1 04/11] of: Add Skyworks Solutions, Inc. vendor prefix Jacek Anaszewski
2015-03-20 15:03 ` [PATCH v1 05/11] DT: Add documentation for the Skyworks AAT1290 Jacek Anaszewski
2015-03-20 15:03 ` [PATCH v1 07/11] media: Add registration helpers for V4L2 flash sub-devices Jacek Anaszewski
2015-03-22  0:22   ` Sakari Ailus
2015-03-23 15:08     ` Jacek Anaszewski
2015-03-23 22:35       ` Sakari Ailus
2015-03-24  8:35         ` Jacek Anaszewski
2015-03-25  1:00           ` Sakari Ailus
2015-03-25  7:29             ` Jacek Anaszewski
2015-03-25  0:40   ` Sakari Ailus [this message]
     [not found] ` <1426863811-12516-1-git-send-email-j.anaszewski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2015-03-20 15:03   ` [PATCH v1 06/11] exynos4-is: Add support for v4l2-flash subdevs Jacek Anaszewski
2015-03-20 15:03     ` Jacek Anaszewski
     [not found]     ` <1426863811-12516-7-git-send-email-j.anaszewski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2015-03-22  1:21       ` Sakari Ailus
2015-03-22  1:21         ` Sakari Ailus
2015-03-23 15:32         ` Jacek Anaszewski
2015-03-23 22:39           ` Sakari Ailus
2015-03-24  8:52             ` Jacek Anaszewski
2015-03-20 15:03   ` [PATCH v1 08/11] Documentation: leds: Add description of v4l2-flash sub-device Jacek Anaszewski
2015-03-20 15:03     ` Jacek Anaszewski
2015-03-20 15:03 ` [PATCH v1 09/11] DT: Add documentation for exynos4-is 'flashes' property Jacek Anaszewski
2015-03-25  1:06   ` Sakari Ailus
2015-03-25  8:52     ` Jacek Anaszewski
2015-04-03 10:53       ` Sylwester Nawrocki
2015-04-30 12:53         ` Jacek Anaszewski
2015-04-03 12:15       ` Sakari Ailus
2015-03-20 15:03 ` [PATCH v1 10/11] leds: max77693: add support for V4L2 Flash sub-device Jacek Anaszewski
2015-03-22  0:28   ` Sakari Ailus
2015-03-20 15:03 ` [PATCH v1 11/11] leds: aat1290: " Jacek Anaszewski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150325004037.GE18321@valkosipuli.retiisi.org.uk \
    --to=sakari.ailus@iki.fi \
    --cc=cooloney@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=hans.verkuil@cisco.com \
    --cc=j.anaszewski@samsung.com \
    --cc=kyungmin.park@samsung.com \
    --cc=linux-leds@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=pavel@ucw.cz \
    --cc=rpurdie@rpsys.net \
    --cc=s.nawrocki@samsung.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.