linux/drivers/leds/leds-bd2606mvv.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (C) 2023 Andreas Kemnade
 *
 * Datasheet:
 * https://fscdn.rohm.com/en/products/databook/datasheet/ic/power/led_driver/bd2606mvv_1-e.pdf
 *
 * If LED brightness cannot be controlled independently due to shared
 * brightness registers, max_brightness is set to 1 and only on/off
 * is possible for the affected LED pair.
 */

#include <linux/i2c.h>
#include <linux/leds.h>
#include <linux/module.h>
#include <linux/mod_devicetable.h>
#include <linux/property.h>
#include <linux/regmap.h>
#include <linux/slab.h>

#define BD2606_MAX_LEDS
#define BD2606_MAX_BRIGHTNESS
#define BD2606_REG_PWRCNT
#define ldev_to_led(c)

struct bd2606mvv_led {};

struct bd2606mvv_priv {};

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

static const struct regmap_config bd2606mvv_regmap =;

static int bd2606mvv_probe(struct i2c_client *client)
{}

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

static struct i2c_driver bd2606mvv_driver =;

module_i2c_driver();

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