Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at 3882a734c19b3cd7feb9e30e1dbd8ae54ac0905a 76 lines 1.9 kB view raw
1#ifndef __LINUX_BQ27X00_BATTERY_H__ 2#define __LINUX_BQ27X00_BATTERY_H__ 3 4enum bq27xxx_chip { 5 BQ27000 = 1, /* bq27000, bq27200 */ 6 BQ27010, /* bq27010, bq27210 */ 7 BQ2750X, /* bq27500 deprecated alias */ 8 BQ2751X, /* bq27510, bq27520 deprecated alias */ 9 BQ2752X, 10 BQ27500, /* bq27500/1 */ 11 BQ27510G1, /* bq27510G1 */ 12 BQ27510G2, /* bq27510G2 */ 13 BQ27510G3, /* bq27510G3 */ 14 BQ27520G1, /* bq27520G1 */ 15 BQ27520G2, /* bq27520G2 */ 16 BQ27520G3, /* bq27520G3 */ 17 BQ27520G4, /* bq27520G4 */ 18 BQ27530, /* bq27530, bq27531 */ 19 BQ27531, 20 BQ27541, /* bq27541, bq27542, bq27546, bq27742 */ 21 BQ27542, 22 BQ27546, 23 BQ27742, 24 BQ27545, /* bq27545 */ 25 BQ27421, /* bq27421, bq27425, bq27441, bq27621 */ 26 BQ27425, 27 BQ27441, 28 BQ27621, 29}; 30 31struct bq27xxx_device_info; 32struct bq27xxx_access_methods { 33 int (*read)(struct bq27xxx_device_info *di, u8 reg, bool single); 34 int (*write)(struct bq27xxx_device_info *di, u8 reg, int value, bool single); 35 int (*read_bulk)(struct bq27xxx_device_info *di, u8 reg, u8 *data, int len); 36 int (*write_bulk)(struct bq27xxx_device_info *di, u8 reg, u8 *data, int len); 37}; 38 39struct bq27xxx_reg_cache { 40 int temperature; 41 int time_to_empty; 42 int time_to_empty_avg; 43 int time_to_full; 44 int charge_full; 45 int cycle_count; 46 int capacity; 47 int energy; 48 int flags; 49 int power_avg; 50 int health; 51}; 52 53struct bq27xxx_device_info { 54 struct device *dev; 55 int id; 56 enum bq27xxx_chip chip; 57 u32 opts; 58 const char *name; 59 struct bq27xxx_dm_reg *dm_regs; 60 u32 unseal_key; 61 struct bq27xxx_access_methods bus; 62 struct bq27xxx_reg_cache cache; 63 int charge_design_full; 64 unsigned long last_update; 65 struct delayed_work work; 66 struct power_supply *bat; 67 struct list_head list; 68 struct mutex lock; 69 u8 *regs; 70}; 71 72void bq27xxx_battery_update(struct bq27xxx_device_info *di); 73int bq27xxx_battery_setup(struct bq27xxx_device_info *di); 74void bq27xxx_battery_teardown(struct bq27xxx_device_info *di); 75 76#endif