linux/drivers/leds/flash/leds-ktd2692.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * LED driver : leds-ktd2692.c
 *
 * Copyright (C) 2015 Samsung Electronics
 * Ingi Kim <[email protected]>
 */

#include <linux/cleanup.h>
#include <linux/err.h>
#include <linux/gpio/consumer.h>
#include <linux/leds-expresswire.h>
#include <linux/led-class-flash.h>
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/regulator/consumer.h>

/* Value related the movie mode */
#define KTD2692_MOVIE_MODE_CURRENT_LEVELS
#define KTD2692_MM_TO_FL_RATIO(x)
#define KTD2692_MM_MIN_CURR_THRESHOLD_SCALE

/* Value related the flash mode */
#define KTD2692_FLASH_MODE_TIMEOUT_LEVELS
#define KTD2692_FLASH_MODE_TIMEOUT_DISABLE
#define KTD2692_FLASH_MODE_CURR_PERCENT(x)

/* Macro for getting offset of flash timeout */
#define GET_TIMEOUT_OFFSET(timeout, step)

/* Base register address */
#define KTD2692_REG_LVP_BASE
#define KTD2692_REG_FLASH_TIMEOUT_BASE
#define KTD2692_REG_MM_MIN_CURR_THRESHOLD_BASE
#define KTD2692_REG_MOVIE_CURRENT_BASE
#define KTD2692_REG_FLASH_CURRENT_BASE
#define KTD2692_REG_MODE_BASE

/* KTD2692 default length of name */
#define KTD2692_NAME_LENGTH

/* Movie / Flash Mode Control */
enum ktd2692_led_mode {};

struct ktd2692_led_config_data {};

const struct expresswire_timing ktd2692_timing =;

struct ktd2692_context {};

static struct ktd2692_context *fled_cdev_to_led(
				struct led_classdev_flash *fled_cdev)
{}

static int ktd2692_led_brightness_set(struct led_classdev *led_cdev,
				       enum led_brightness brightness)
{}

static int ktd2692_led_flash_strobe_set(struct led_classdev_flash *fled_cdev,
					bool state)
{}

static int ktd2692_led_flash_timeout_set(struct led_classdev_flash *fled_cdev,
					 u32 timeout)
{}

static void ktd2692_init_movie_current_max(struct ktd2692_led_config_data *cfg)
{}

static void ktd2692_init_flash_timeout(struct led_classdev_flash *fled_cdev,
				       struct ktd2692_led_config_data *cfg)
{}

static void ktd2692_setup(struct ktd2692_context *led)
{}

static void regulator_disable_action(void *_data)
{}

static int ktd2692_parse_dt(struct ktd2692_context *led, struct device *dev,
			    struct ktd2692_led_config_data *cfg)
{}

static const struct led_flash_ops flash_ops =;

static int ktd2692_probe(struct platform_device *pdev)
{}

static void ktd2692_remove(struct platform_device *pdev)
{}

static const struct of_device_id ktd2692_match[] =;
MODULE_DEVICE_TABLE(of, ktd2692_match);

static struct platform_driver ktd2692_driver =;

module_platform_driver();

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