#include <linux/module.h>
#include <linux/spi/spi.h>
struct led_classdev ldev;
char name[sizeof("dac124s085-3")];
struct dac124s085_led leds[4];
#define REG_WRITE (0 << 12)
#define REG_WRITE_UPDATE (1 << 12)
#define ALL_WRITE_UPDATE (2 << 12)
#define POWER_DOWN_OUTPUT (3 << 12)
static int dac124s085_set_brightness(struct led_classdev *ldev,
enum led_brightness brightness)
struct dac124s085_led *led = container_of(ldev, struct dac124s085_led,
word = cpu_to_le16(((led->id) << 14) | REG_WRITE_UPDATE |
ret = spi_write(led->spi, (const u8 *)&word, sizeof(word));
mutex_unlock(&led->mutex);
static int dac124s085_probe(struct spi_device *spi)
struct dac124s085_led *led;
dac = devm_kzalloc(&spi->dev, sizeof(*dac), GFP_KERNEL);