root/include/linux/leds-pca9532.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  * pca9532.h - platform data structure for pca9532 led controller
   4  *
   5  * Copyright (C) 2008 Riku Voipio <riku.voipio@movial.fi>
   6  *
   7  * Datasheet: http://www.nxp.com/acrobat/datasheets/PCA9532_3.pdf
   8  */
   9 
  10 #ifndef __LINUX_PCA9532_H
  11 #define __LINUX_PCA9532_H
  12 
  13 #include <linux/leds.h>
  14 #include <linux/workqueue.h>
  15 #include <dt-bindings/leds/leds-pca9532.h>
  16 
  17 enum pca9532_state {
  18         PCA9532_OFF  = 0x0,
  19         PCA9532_ON   = 0x1,
  20         PCA9532_PWM0 = 0x2,
  21         PCA9532_PWM1 = 0x3,
  22         PCA9532_KEEP = 0xff,
  23 };
  24 
  25 struct pca9532_led {
  26         u8 id;
  27         struct i2c_client *client;
  28         const char *name;
  29         const char *default_trigger;
  30         struct led_classdev ldev;
  31         struct work_struct work;
  32         u32 type;
  33         enum pca9532_state state;
  34 };
  35 
  36 struct pca9532_platform_data {
  37         struct pca9532_led leds[16];
  38         u8 pwm[2];
  39         u8 psc[2];
  40         int gpio_base;
  41 };
  42 
  43 #endif /* __LINUX_PCA9532_H */

/* [<][>][^][v][top][bottom][index][help] */