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 v5.4-rc3 51 lines 1.4 kB view raw
1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * Copyright (C) ST-Ericsson SA 2012 4 * Author: Johan Gardsmark <johan.gardsmark@stericsson.com> for ST-Ericsson. 5 */ 6 7#ifndef _UX500_CHARGALG_H 8#define _UX500_CHARGALG_H 9 10#include <linux/power_supply.h> 11 12/* 13 * Valid only for supplies of type: 14 * - POWER_SUPPLY_TYPE_MAINS, 15 * - POWER_SUPPLY_TYPE_USB, 16 * because only them store as drv_data pointer to struct ux500_charger. 17 */ 18#define psy_to_ux500_charger(x) power_supply_get_drvdata(psy) 19 20/* Forward declaration */ 21struct ux500_charger; 22 23struct ux500_charger_ops { 24 int (*enable) (struct ux500_charger *, int, int, int); 25 int (*check_enable) (struct ux500_charger *, int, int); 26 int (*kick_wd) (struct ux500_charger *); 27 int (*update_curr) (struct ux500_charger *, int); 28}; 29 30/** 31 * struct ux500_charger - power supply ux500 charger sub class 32 * @psy power supply base class 33 * @ops ux500 charger operations 34 * @max_out_volt maximum output charger voltage in mV 35 * @max_out_curr maximum output charger current in mA 36 * @enabled indicates if this charger is used or not 37 * @external external charger unit (pm2xxx) 38 */ 39struct ux500_charger { 40 struct power_supply *psy; 41 struct ux500_charger_ops ops; 42 int max_out_volt; 43 int max_out_curr; 44 int wdt_refresh; 45 bool enabled; 46 bool external; 47}; 48 49extern struct blocking_notifier_head charger_notifier_list; 50 51#endif