[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:
parent
ecdf0cfe71
commit
048ea05b4f
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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,
|
||||||
|
|
Loading…
Reference in New Issue