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 v4.12-rc7 79 lines 2.1 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 BQ27500, /* bq27500/1 */ 10 BQ27510G1, /* bq27510G1 */ 11 BQ27510G2, /* bq27510G2 */ 12 BQ27510G3, /* bq27510G3 */ 13 BQ27520G1, /* bq27520G1 */ 14 BQ27520G2, /* bq27520G2 */ 15 BQ27520G3, /* bq27520G3 */ 16 BQ27520G4, /* bq27520G4 */ 17 BQ27530, /* bq27530, bq27531 */ 18 BQ27541, /* bq27541, bq27542, bq27546, bq27742 */ 19 BQ27545, /* bq27545 */ 20 BQ27421, /* bq27421, bq27425, bq27441, bq27621 */ 21}; 22 23/** 24 * struct bq27xxx_plaform_data - Platform data for bq27xxx devices 25 * @name: Name of the battery. 26 * @chip: Chip class number of this device. 27 * @read: HDQ read callback. 28 * This function should provide access to the HDQ bus the battery is 29 * connected to. 30 * The first parameter is a pointer to the battery device, the second the 31 * register to be read. The return value should either be the content of 32 * the passed register or an error value. 33 */ 34struct bq27xxx_platform_data { 35 const char *name; 36 enum bq27xxx_chip chip; 37 int (*read)(struct device *dev, unsigned int); 38}; 39 40struct bq27xxx_device_info; 41struct bq27xxx_access_methods { 42 int (*read)(struct bq27xxx_device_info *di, u8 reg, bool single); 43}; 44 45struct bq27xxx_reg_cache { 46 int temperature; 47 int time_to_empty; 48 int time_to_empty_avg; 49 int time_to_full; 50 int charge_full; 51 int cycle_count; 52 int capacity; 53 int energy; 54 int flags; 55 int power_avg; 56 int health; 57}; 58 59struct bq27xxx_device_info { 60 struct device *dev; 61 int id; 62 enum bq27xxx_chip chip; 63 const char *name; 64 struct bq27xxx_access_methods bus; 65 struct bq27xxx_reg_cache cache; 66 int charge_design_full; 67 unsigned long last_update; 68 struct delayed_work work; 69 struct power_supply *bat; 70 struct list_head list; 71 struct mutex lock; 72 u8 *regs; 73}; 74 75void bq27xxx_battery_update(struct bq27xxx_device_info *di); 76int bq27xxx_battery_setup(struct bq27xxx_device_info *di); 77void bq27xxx_battery_teardown(struct bq27xxx_device_info *di); 78 79#endif