Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions
leds-lm355x.c File Reference
#include <linux/module.h>
#include <linux/delay.h>
#include <linux/i2c.h>
#include <linux/gpio.h>
#include <linux/leds.h>
#include <linux/slab.h>
#include <linux/platform_device.h>
#include <linux/fs.h>
#include <linux/regmap.h>
#include <linux/workqueue.h>
#include <linux/platform_data/leds-lm355x.h>

Go to the source code of this file.

Data Structures

struct  lm355x_reg_data
 
struct  lm355x_chip_data
 
struct  indicator
 

Macros

#define INDIC_PATTERN_SIZE   4
 

Enumerations

enum  lm355x_type { CHIP_LM3554 = 0, CHIP_LM3556 }
 
enum  lm355x_regs {
  REG_FLAG = 0, REG_TORCH_CFG, REG_TORCH_CTRL, REG_STROBE_CFG,
  REG_FLASH_CTRL, REG_INDI_CFG, REG_INDI_CTRL, REG_OPMODE,
  REG_MAX
}
 
enum  lm355x_mode { MODE_SHDN = 0, MODE_INDIC, MODE_TORCH, MODE_FLASH }
 
enum  lm3556_indic_pulse_time {
  PULSE_TIME_0_MS = 0, PULSE_TIME_32_MS, PULSE_TIME_64_MS, PULSE_TIME_92_MS,
  PULSE_TIME_128_MS, PULSE_TIME_160_MS, PULSE_TIME_196_MS, PULSE_TIME_224_MS,
  PULSE_TIME_256_MS, PULSE_TIME_288_MS, PULSE_TIME_320_MS, PULSE_TIME_352_MS,
  PULSE_TIME_384_MS, PULSE_TIME_416_MS, PULSE_TIME_448_MS, PULSE_TIME_480_MS
}
 
enum  lm3556_indic_n_blank {
  INDIC_N_BLANK_0 = 0, INDIC_N_BLANK_1, INDIC_N_BLANK_2, INDIC_N_BLANK_3,
  INDIC_N_BLANK_4, INDIC_N_BLANK_5, INDIC_N_BLANK_6, INDIC_N_BLANK_7,
  INDIC_N_BLANK_8, INDIC_N_BLANK_9, INDIC_N_BLANK_10, INDIC_N_BLANK_11,
  INDIC_N_BLANK_12, INDIC_N_BLANK_13, INDIC_N_BLANK_14, INDIC_N_BLANK_15
}
 
enum  lm3556_indic_period {
  INDIC_PERIOD_0 = 0, INDIC_PERIOD_1, INDIC_PERIOD_2, INDIC_PERIOD_3,
  INDIC_PERIOD_4, INDIC_PERIOD_5, INDIC_PERIOD_6, INDIC_PERIOD_7
}
 

Functions

 MODULE_DEVICE_TABLE (i2c, lm355x_id)
 
 module_i2c_driver (lm355x_i2c_driver)
 
 MODULE_DESCRIPTION ("Texas Instruments Flash Lighting driver for LM355x")
 
 MODULE_AUTHOR ("Daniel Jeong <[email protected]>")
 
 MODULE_AUTHOR ("G.Shark Jeong <[email protected]>")
 
 MODULE_LICENSE ("GPL v2")
 

Macro Definition Documentation

#define INDIC_PATTERN_SIZE   4

Definition at line 128 of file leds-lm355x.c.

Enumeration Type Documentation

Enumerator:
INDIC_N_BLANK_0 
INDIC_N_BLANK_1 
INDIC_N_BLANK_2 
INDIC_N_BLANK_3 
INDIC_N_BLANK_4 
INDIC_N_BLANK_5 
INDIC_N_BLANK_6 
INDIC_N_BLANK_7 
INDIC_N_BLANK_8 
INDIC_N_BLANK_9 
INDIC_N_BLANK_10 
INDIC_N_BLANK_11 
INDIC_N_BLANK_12 
INDIC_N_BLANK_13 
INDIC_N_BLANK_14 
INDIC_N_BLANK_15 

Definition at line 98 of file leds-lm355x.c.

Enumerator:
INDIC_PERIOD_0 
INDIC_PERIOD_1 
INDIC_PERIOD_2 
INDIC_PERIOD_3 
INDIC_PERIOD_4 
INDIC_PERIOD_5 
INDIC_PERIOD_6 
INDIC_PERIOD_7 

Definition at line 117 of file leds-lm355x.c.

Enumerator:
PULSE_TIME_0_MS 
PULSE_TIME_32_MS 
PULSE_TIME_64_MS 
PULSE_TIME_92_MS 
PULSE_TIME_128_MS 
PULSE_TIME_160_MS 
PULSE_TIME_196_MS 
PULSE_TIME_224_MS 
PULSE_TIME_256_MS 
PULSE_TIME_288_MS 
PULSE_TIME_320_MS 
PULSE_TIME_352_MS 
PULSE_TIME_384_MS 
PULSE_TIME_416_MS 
PULSE_TIME_448_MS 
PULSE_TIME_480_MS 

Definition at line 79 of file leds-lm355x.c.

Enumerator:
MODE_SHDN 
MODE_INDIC 
MODE_TORCH 
MODE_FLASH 

Definition at line 40 of file leds-lm355x.c.

Enumerator:
REG_FLAG 
REG_TORCH_CFG 
REG_TORCH_CTRL 
REG_STROBE_CFG 
REG_FLASH_CTRL 
REG_INDI_CFG 
REG_INDI_CTRL 
REG_OPMODE 
REG_MAX 

Definition at line 27 of file leds-lm355x.c.

Enumerator:
CHIP_LM3554 
CHIP_LM3556 

Definition at line 22 of file leds-lm355x.c.

Function Documentation

MODULE_AUTHOR ( "Daniel Jeong <[email protected]>"  )
MODULE_AUTHOR ( "G.Shark Jeong <[email protected]>"  )
MODULE_DESCRIPTION ( "Texas Instruments Flash Lighting driver for LM355x"  )
MODULE_DEVICE_TABLE ( i2c  ,
lm355x_id   
)
module_i2c_driver ( lm355x_i2c_driver  )
MODULE_LICENSE ( "GPL v2 )