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