#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)
{ … }
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(…) …;