mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 15:27:29 +00:00
Merge branches 'ib-extcon-mfd-4.4', 'ib-mfd-i2c-v4.4', 'ib-mfd-power-4.4', 'ib-mfd-regmap-4.4' and 'ib-mfd-regulator-4.4' into ibs-for-mfd-merged
This commit is contained in:
commit
74b533c529
723 changed files with 8433 additions and 4355 deletions
|
@ -18,6 +18,12 @@
|
|||
|
||||
struct irq_domain;
|
||||
|
||||
/* Matches ACPI PNP id, either _HID or _CID, or ACPI _ADR */
|
||||
struct mfd_cell_acpi_match {
|
||||
const char *pnpid;
|
||||
const unsigned long long adr;
|
||||
};
|
||||
|
||||
/*
|
||||
* This struct describes the MFD part ("cell").
|
||||
* After registration the copy of this structure will become the platform data
|
||||
|
@ -44,8 +50,8 @@ struct mfd_cell {
|
|||
*/
|
||||
const char *of_compatible;
|
||||
|
||||
/* Matches ACPI PNP id, either _HID or _CID */
|
||||
const char *acpi_pnpid;
|
||||
/* Matches ACPI */
|
||||
const struct mfd_cell_acpi_match *acpi_match;
|
||||
|
||||
/*
|
||||
* These resources can be specified relative to the parent device.
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
#define __DA9150_CORE_H
|
||||
|
||||
#include <linux/device.h>
|
||||
#include <linux/i2c.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/regmap.h>
|
||||
|
||||
|
@ -46,23 +47,39 @@
|
|||
#define DA9150_IRQ_GPADC 19
|
||||
#define DA9150_IRQ_WKUP 20
|
||||
|
||||
/* I2C sub-device address */
|
||||
#define DA9150_QIF_I2C_ADDR_LSB 0x5
|
||||
|
||||
struct da9150_fg_pdata {
|
||||
u32 update_interval; /* msecs */
|
||||
u8 warn_soc_lvl; /* % value */
|
||||
u8 crit_soc_lvl; /* % value */
|
||||
};
|
||||
|
||||
struct da9150_pdata {
|
||||
int irq_base;
|
||||
struct da9150_fg_pdata *fg_pdata;
|
||||
};
|
||||
|
||||
struct da9150 {
|
||||
struct device *dev;
|
||||
struct regmap *regmap;
|
||||
struct i2c_client *core_qif;
|
||||
|
||||
struct regmap_irq_chip_data *regmap_irq_data;
|
||||
int irq;
|
||||
int irq_base;
|
||||
};
|
||||
|
||||
/* Device I/O */
|
||||
/* Device I/O - Query Interface for FG and standard register access */
|
||||
void da9150_read_qif(struct da9150 *da9150, u8 addr, int count, u8 *buf);
|
||||
void da9150_write_qif(struct da9150 *da9150, u8 addr, int count, const u8 *buf);
|
||||
|
||||
u8 da9150_reg_read(struct da9150 *da9150, u16 reg);
|
||||
void da9150_reg_write(struct da9150 *da9150, u16 reg, u8 val);
|
||||
void da9150_set_bits(struct da9150 *da9150, u16 reg, u8 mask, u8 val);
|
||||
|
||||
void da9150_bulk_read(struct da9150 *da9150, u16 reg, int count, u8 *buf);
|
||||
void da9150_bulk_write(struct da9150 *da9150, u16 reg, int count, const u8 *buf);
|
||||
|
||||
#endif /* __DA9150_CORE_H */
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#define MFD_TPS6105X_H
|
||||
|
||||
#include <linux/i2c.h>
|
||||
#include <linux/regmap.h>
|
||||
#include <linux/regulator/machine.h>
|
||||
|
||||
/*
|
||||
|
@ -82,20 +83,15 @@ struct tps6105x_platform_data {
|
|||
|
||||
/**
|
||||
* struct tps6105x - state holder for the TPS6105x drivers
|
||||
* @mutex: mutex to serialize I2C accesses
|
||||
* @i2c_client: corresponding I2C client
|
||||
* @regulator: regulator device if used in voltage mode
|
||||
* @regmap: used for i2c communcation on accessing registers
|
||||
*/
|
||||
struct tps6105x {
|
||||
struct tps6105x_platform_data *pdata;
|
||||
struct mutex lock;
|
||||
struct i2c_client *client;
|
||||
struct regulator_dev *regulator;
|
||||
struct regmap *regmap;
|
||||
};
|
||||
|
||||
extern int tps6105x_set(struct tps6105x *tps6105x, u8 reg, u8 value);
|
||||
extern int tps6105x_get(struct tps6105x *tps6105x, u8 reg, u8 *buf);
|
||||
extern int tps6105x_mask_and_set(struct tps6105x *tps6105x, u8 reg,
|
||||
u8 bitmask, u8 bitvalues);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue