linux/drivers/media/v4l2-core/v4l2-flash-led-class.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * V4L2 flash LED sub-device registration helpers.
 *
 *	Copyright (C) 2015 Samsung Electronics Co., Ltd
 *	Author: Jacek Anaszewski <[email protected]>
 */

#include <linux/led-class-flash.h>
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/property.h>
#include <linux/slab.h>
#include <linux/types.h>
#include <media/v4l2-flash-led-class.h>

#define has_flash_op(v4l2_flash, op)

#define call_flash_op(v4l2_flash, op, arg)

enum ctrl_init_data_id {};

static enum led_brightness __intensity_to_led_brightness(
					struct v4l2_ctrl *ctrl, s32 intensity)
{}

static s32 __led_brightness_to_intensity(struct v4l2_ctrl *ctrl,
					 enum led_brightness brightness)
{}

static int v4l2_flash_set_led_brightness(struct v4l2_flash *v4l2_flash,
					 struct v4l2_ctrl *ctrl)
{}

static int v4l2_flash_update_led_brightness(struct v4l2_flash *v4l2_flash,
					struct v4l2_ctrl *ctrl)
{}

static int v4l2_flash_g_volatile_ctrl(struct v4l2_ctrl *c)
{}

static bool __software_strobe_mode_inactive(struct v4l2_ctrl **ctrls)
{}

static int v4l2_flash_s_ctrl(struct v4l2_ctrl *c)
{}

static const struct v4l2_ctrl_ops v4l2_flash_ctrl_ops =;

static void __lfs_to_v4l2_ctrl_config(struct led_flash_setting *s,
				struct v4l2_ctrl_config *c)
{}

static void __fill_ctrl_init_data(struct v4l2_flash *v4l2_flash,
			  struct v4l2_flash_config *flash_cfg,
			  struct v4l2_flash_ctrl_data *ctrl_init_data)
{}

static int v4l2_flash_init_controls(struct v4l2_flash *v4l2_flash,
				struct v4l2_flash_config *flash_cfg)

{}

static int __sync_device_with_v4l2_controls(struct v4l2_flash *v4l2_flash)
{}

/*
 * V4L2 subdev internal operations
 */

static int v4l2_flash_open(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
{}

static int v4l2_flash_close(struct v4l2_subdev *sd, struct v4l2_subdev_fh *fh)
{}

static const struct v4l2_subdev_internal_ops v4l2_flash_subdev_internal_ops =;

static const struct v4l2_subdev_ops v4l2_flash_subdev_ops;

static struct v4l2_flash *__v4l2_flash_init(
	struct device *dev, struct fwnode_handle *fwn,
	struct led_classdev_flash *fled_cdev, struct led_classdev *iled_cdev,
	const struct v4l2_flash_ops *ops, struct v4l2_flash_config *config)
{}

struct v4l2_flash *v4l2_flash_init(
	struct device *dev, struct fwnode_handle *fwn,
	struct led_classdev_flash *fled_cdev,
	const struct v4l2_flash_ops *ops,
	struct v4l2_flash_config *config)
{}
EXPORT_SYMBOL_GPL();

struct v4l2_flash *v4l2_flash_indicator_init(
	struct device *dev, struct fwnode_handle *fwn,
	struct led_classdev *iled_cdev,
	struct v4l2_flash_config *config)
{}
EXPORT_SYMBOL_GPL();

void v4l2_flash_release(struct v4l2_flash *v4l2_flash)
{}
EXPORT_SYMBOL_GPL();

MODULE_AUTHOR();
MODULE_DESCRIPTION();
MODULE_LICENSE();