Re: [PATCH v3 3/5] mfd: tps65912: Add driver for the TPS65912 PMIC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 09/24/2015 09:52 AM, Andrew F. Davis wrote:
> This patch adds support for TPS65912 mfd device. It provides
> communication through the I2C and SPI interfaces. It contains
> the following components:
> 
>   - Regulators
>   - GPIO controller
> 
> Signed-off-by: Andrew F. Davis <afd@xxxxxx>
> ---
>   drivers/mfd/Kconfig          |  24 +++
>   drivers/mfd/Makefile         |   3 +
>   drivers/mfd/tps65912-core.c  | 114 +++++++++++++
>   drivers/mfd/tps65912-i2c.c   |  86 ++++++++++
>   drivers/mfd/tps65912-spi.c   |  85 ++++++++++
>   include/linux/mfd/tps65912.h | 393 +++++++++++++++++++++++++++++++++++++++++++
>   6 files changed, 705 insertions(+)
>   create mode 100644 drivers/mfd/tps65912-core.c
>   create mode 100644 drivers/mfd/tps65912-i2c.c
>   create mode 100644 drivers/mfd/tps65912-spi.c
>   create mode 100644 include/linux/mfd/tps65912.h
> 

[...]

> +
> +/*
> + * struct tps_info - packages regulator constraints
> + * @id: Id of the regulator
> + * @name: Voltage regulator name
> + * @min_uV: Minimum micro volts
> + * @max_uV: Minimum micro volts
> + *
> + * This data is used to check the regulator voltage limits while setting.
> + */
> +struct tps_info {
> +	int id;
> +	const char *name;
> +	int min_uV;
> +	int max_uV;
> +};

Could you move structure's definitions to the corresponding c-files
if they are used only locally in this files, pls? 

> +
> +/*
> + * struct tps65912 - state holder for the tps65912 driver
> + *
> + * Device data may be used to access the TPS65912 chip
> + */
> +struct tps65912 {
> +	struct device *dev;
> +	unsigned int id;
> +
> +	/* IRQ Data */
> +	int irq;
> +	struct regmap_irq_chip_data *irq_data;
> +
> +	struct regulator_desc desc[TPS65912_NUM_REGULATOR];
> +	struct tps_info *info[TPS65912_NUM_REGULATOR];

seems above two field are not used (and id?).

> +	struct regmap *regmap;
> +};
> +
> +static const struct regmap_range tps65912_yes_ranges[] = {
> +	regmap_reg_range(TPS65912_INT_STS, TPS65912_GPIO5),
> +};
> +
> +static const struct regmap_access_table tps65912_volatile_table = {
> +	.yes_ranges = tps65912_yes_ranges,
> +	.n_yes_ranges = ARRAY_SIZE(tps65912_yes_ranges),
> +};
> +
> +static const struct regmap_config tps65912_regmap_co	nfig = {
> +	.reg_bits = 8,
> +	.val_bits = 8,
> +	.cache_type = REGCACHE_RBTREE,
> +	.volatile_table = &tps65912_volatile_table,
> +};
> +
> +int tps65912_device_init(struct tps65912 *tps);
> +int tps65912_device_exit(struct tps65912 *tps);
> +
> +#endif /*  __LINUX_MFD_TPS65912_H */
> 


-- 
regards,
-grygorii
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux