[media] v4l: flash led class: Use fwnode_handle instead of device_node in init

Pass the more generic fwnode_handle to the init function than the
device_node.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Tested-by: Hans Verkuil <hans.verkuil@cisco.com>
Tested-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This commit is contained in:
Sakari Ailus 2016-08-31 04:28:46 -03:00 committed by Mauro Carvalho Chehab
parent ecdf0cfe71
commit 048ea05b4f
4 changed files with 15 additions and 13 deletions

View File

@ -503,8 +503,9 @@ static int aat1290_led_probe(struct platform_device *pdev)
aat1290_init_v4l2_flash_config(led, &led_cfg, &v4l2_sd_cfg); aat1290_init_v4l2_flash_config(led, &led_cfg, &v4l2_sd_cfg);
/* Create V4L2 Flash subdev. */ /* Create V4L2 Flash subdev. */
led->v4l2_flash = v4l2_flash_init(dev, sub_node, fled_cdev, NULL, led->v4l2_flash = v4l2_flash_init(dev, of_fwnode_handle(sub_node),
&v4l2_flash_ops, &v4l2_sd_cfg); fled_cdev, NULL, &v4l2_flash_ops,
&v4l2_sd_cfg);
if (IS_ERR(led->v4l2_flash)) { if (IS_ERR(led->v4l2_flash)) {
ret = PTR_ERR(led->v4l2_flash); ret = PTR_ERR(led->v4l2_flash);
goto error_v4l2_flash_init; goto error_v4l2_flash_init;

View File

@ -930,8 +930,9 @@ static int max77693_register_led(struct max77693_sub_led *sub_led,
max77693_init_v4l2_flash_config(sub_led, led_cfg, &v4l2_sd_cfg); max77693_init_v4l2_flash_config(sub_led, led_cfg, &v4l2_sd_cfg);
/* Register in the V4L2 subsystem. */ /* Register in the V4L2 subsystem. */
sub_led->v4l2_flash = v4l2_flash_init(dev, sub_node, fled_cdev, NULL, sub_led->v4l2_flash = v4l2_flash_init(dev, of_fwnode_handle(sub_node),
&v4l2_flash_ops, &v4l2_sd_cfg); fled_cdev, NULL, &v4l2_flash_ops,
&v4l2_sd_cfg);
if (IS_ERR(sub_led->v4l2_flash)) { if (IS_ERR(sub_led->v4l2_flash)) {
ret = PTR_ERR(sub_led->v4l2_flash); ret = PTR_ERR(sub_led->v4l2_flash);
goto err_v4l2_flash_init; goto err_v4l2_flash_init;

View File

@ -12,7 +12,7 @@
#include <linux/led-class-flash.h> #include <linux/led-class-flash.h>
#include <linux/module.h> #include <linux/module.h>
#include <linux/mutex.h> #include <linux/mutex.h>
#include <linux/of.h> #include <linux/property.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/types.h> #include <linux/types.h>
#include <media/v4l2-flash-led-class.h> #include <media/v4l2-flash-led-class.h>
@ -612,7 +612,7 @@ static const struct v4l2_subdev_internal_ops v4l2_flash_subdev_internal_ops = {
static const struct v4l2_subdev_ops v4l2_flash_subdev_ops; static const struct v4l2_subdev_ops v4l2_flash_subdev_ops;
struct v4l2_flash *v4l2_flash_init( struct v4l2_flash *v4l2_flash_init(
struct device *dev, struct device_node *of_node, struct device *dev, struct fwnode_handle *fwn,
struct led_classdev_flash *fled_cdev, struct led_classdev_flash *fled_cdev,
struct led_classdev_flash *iled_cdev, struct led_classdev_flash *iled_cdev,
const struct v4l2_flash_ops *ops, const struct v4l2_flash_ops *ops,
@ -638,7 +638,7 @@ struct v4l2_flash *v4l2_flash_init(
v4l2_flash->iled_cdev = iled_cdev; v4l2_flash->iled_cdev = iled_cdev;
v4l2_flash->ops = ops; v4l2_flash->ops = ops;
sd->dev = dev; sd->dev = dev;
sd->of_node = of_node ? of_node : led_cdev->dev->of_node; sd->fwnode = fwn ? fwn : dev_fwnode(led_cdev->dev);
v4l2_subdev_init(sd, &v4l2_flash_subdev_ops); v4l2_subdev_init(sd, &v4l2_flash_subdev_ops);
sd->internal_ops = &v4l2_flash_subdev_internal_ops; sd->internal_ops = &v4l2_flash_subdev_internal_ops;
sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE; sd->flags |= V4L2_SUBDEV_FL_HAS_DEVNODE;
@ -654,7 +654,7 @@ struct v4l2_flash *v4l2_flash_init(
if (ret < 0) if (ret < 0)
goto err_init_controls; goto err_init_controls;
of_node_get(sd->of_node); fwnode_handle_get(sd->fwnode);
ret = v4l2_async_register_subdev(sd); ret = v4l2_async_register_subdev(sd);
if (ret < 0) if (ret < 0)
@ -663,7 +663,7 @@ struct v4l2_flash *v4l2_flash_init(
return v4l2_flash; return v4l2_flash;
err_async_register_sd: err_async_register_sd:
of_node_put(sd->of_node); fwnode_handle_put(sd->fwnode);
v4l2_ctrl_handler_free(sd->ctrl_handler); v4l2_ctrl_handler_free(sd->ctrl_handler);
err_init_controls: err_init_controls:
media_entity_cleanup(&sd->entity); media_entity_cleanup(&sd->entity);
@ -683,7 +683,7 @@ void v4l2_flash_release(struct v4l2_flash *v4l2_flash)
v4l2_async_unregister_subdev(sd); v4l2_async_unregister_subdev(sd);
of_node_put(sd->of_node); fwnode_handle_put(sd->fwnode);
v4l2_ctrl_handler_free(sd->ctrl_handler); v4l2_ctrl_handler_free(sd->ctrl_handler);
media_entity_cleanup(&sd->entity); media_entity_cleanup(&sd->entity);

View File

@ -108,7 +108,7 @@ static inline struct v4l2_flash *v4l2_ctrl_to_v4l2_flash(struct v4l2_ctrl *c)
/** /**
* v4l2_flash_init - initialize V4L2 flash led sub-device * v4l2_flash_init - initialize V4L2 flash led sub-device
* @dev: flash device, e.g. an I2C device * @dev: flash device, e.g. an I2C device
* @of_node: of_node of the LED, may be NULL if the same as device's * @fwn: fwnode_handle of the LED, may be NULL if the same as device's
* @fled_cdev: LED flash class device to wrap * @fled_cdev: LED flash class device to wrap
* @iled_cdev: LED flash class device representing indicator LED associated * @iled_cdev: LED flash class device representing indicator LED associated
* with fled_cdev, may be NULL * with fled_cdev, may be NULL
@ -122,7 +122,7 @@ static inline struct v4l2_flash *v4l2_ctrl_to_v4l2_flash(struct v4l2_ctrl *c)
* PTR_ERR() to obtain the numeric return value. * PTR_ERR() to obtain the numeric return value.
*/ */
struct v4l2_flash *v4l2_flash_init( struct v4l2_flash *v4l2_flash_init(
struct device *dev, struct device_node *of_node, struct device *dev, struct fwnode_handle *fwn,
struct led_classdev_flash *fled_cdev, struct led_classdev_flash *fled_cdev,
struct led_classdev_flash *iled_cdev, struct led_classdev_flash *iled_cdev,
const struct v4l2_flash_ops *ops, const struct v4l2_flash_ops *ops,
@ -138,7 +138,7 @@ void v4l2_flash_release(struct v4l2_flash *v4l2_flash);
#else #else
static inline struct v4l2_flash *v4l2_flash_init( static inline struct v4l2_flash *v4l2_flash_init(
struct device *dev, struct device_node *of_node, struct device *dev, struct fwnode_handle *fwn,
struct led_classdev_flash *fled_cdev, struct led_classdev_flash *fled_cdev,
struct led_classdev_flash *iled_cdev, struct led_classdev_flash *iled_cdev,
const struct v4l2_flash_ops *ops, const struct v4l2_flash_ops *ops,