~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/linux/power/bq27xxx_battery.h

Version: ~ [ linux-5.12-rc7 ] ~ [ linux-5.11.13 ] ~ [ linux-5.10.29 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.111 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.186 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.230 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.266 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.266 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.18.140 ] ~ [ linux-3.16.85 ] ~ [ linux-3.14.79 ] ~ [ linux-3.12.74 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.5 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp