All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lee Jones <lee.jones@linaro.org>
To: Robert Baldyga <r.baldyga@samsung.com>
Cc: sameo@linux.intel.com, myungjoo.ham@samsung.com,
	cw00.choi@samsung.com, lgirdwood@gmail.com, broonie@kernel.org,
	linux-kernel@vger.kernel.org, m.szyprowski@samsung.com,
	k.kozlowski@samsung.com
Subject: Re: [PATCH v3 1/2] mfd: max77693: remove unnecessary wrapper functions
Date: Tue, 20 May 2014 16:35:06 +0100	[thread overview]
Message-ID: <20140520153506.GA32025@lee--X1> (raw)
In-Reply-To: <1398762747-1138-2-git-send-email-r.baldyga@samsung.com>

Mark,

In case you missed it (I know, top post, yada yada yada).

We're just waiting on your Ack and I can apply the set:

> This patch removes wrapper functions used to access regmap, and
> make driver using regmap_*() functions instead.
> 
> Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
> Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
> Acked-by: Lee Jones <lee.jones@linaro.org>
> 
> [For extcon part]
> Acked-by: Chanwoo Choi <cw00.choi@samsung.com>
> ---
>  drivers/extcon/extcon-max77693.c     | 32 ++++++++++-----------
>  drivers/mfd/max77693-irq.c           | 50 +++++++++++++++++++-------------
>  drivers/mfd/max77693.c               | 56 ++----------------------------------
>  drivers/regulator/max77693.c         | 12 ++++----
>  include/linux/mfd/max77693-private.h |  8 ------
>  5 files changed, 54 insertions(+), 104 deletions(-)
> 
> diff --git a/drivers/extcon/extcon-max77693.c b/drivers/extcon/extcon-max77693.c
> index da268fb..0b09bf3 100644
> --- a/drivers/extcon/extcon-max77693.c
> +++ b/drivers/extcon/extcon-max77693.c
> @@ -255,10 +255,10 @@ static int max77693_muic_set_debounce_time(struct max77693_muic_info *info,
>  	case ADC_DEBOUNCE_TIME_10MS:
>  	case ADC_DEBOUNCE_TIME_25MS:
>  	case ADC_DEBOUNCE_TIME_38_62MS:
> -		ret = max77693_update_reg(info->max77693->regmap_muic,
> +		ret = regmap_update_bits(info->max77693->regmap_muic,
>  					  MAX77693_MUIC_REG_CTRL3,
> -					  time << CONTROL3_ADCDBSET_SHIFT,
> -					  CONTROL3_ADCDBSET_MASK);
> +					  CONTROL3_ADCDBSET_MASK,
> +					  time << CONTROL3_ADCDBSET_SHIFT);
>  		if (ret) {
>  			dev_err(info->dev, "failed to set ADC debounce time\n");
>  			return ret;
> @@ -286,15 +286,15 @@ static int max77693_muic_set_path(struct max77693_muic_info *info,
>  		u8 val, bool attached)
>  {
>  	int ret = 0;
> -	u8 ctrl1, ctrl2 = 0;
> +	unsigned int ctrl1, ctrl2 = 0;
>  
>  	if (attached)
>  		ctrl1 = val;
>  	else
>  		ctrl1 = CONTROL1_SW_OPEN;
>  
> -	ret = max77693_update_reg(info->max77693->regmap_muic,
> -			MAX77693_MUIC_REG_CTRL1, ctrl1, COMP_SW_MASK);
> +	ret = regmap_update_bits(info->max77693->regmap_muic,
> +			MAX77693_MUIC_REG_CTRL1, COMP_SW_MASK, ctrl1);
>  	if (ret < 0) {
>  		dev_err(info->dev, "failed to update MUIC register\n");
>  		return ret;
> @@ -305,9 +305,9 @@ static int max77693_muic_set_path(struct max77693_muic_info *info,
>  	else
>  		ctrl2 |= CONTROL2_LOWPWR_MASK;	/* LowPwr=1, CPEn=0 */
>  
> -	ret = max77693_update_reg(info->max77693->regmap_muic,
> -			MAX77693_MUIC_REG_CTRL2, ctrl2,
> -			CONTROL2_LOWPWR_MASK | CONTROL2_CPEN_MASK);
> +	ret = regmap_update_bits(info->max77693->regmap_muic,
> +			MAX77693_MUIC_REG_CTRL2,
> +			CONTROL2_LOWPWR_MASK | CONTROL2_CPEN_MASK, ctrl2);
>  	if (ret < 0) {
>  		dev_err(info->dev, "failed to update MUIC register\n");
>  		return ret;
> @@ -969,8 +969,8 @@ static void max77693_muic_irq_work(struct work_struct *work)
>  		if (info->irq == muic_irqs[i].virq)
>  			irq_type = muic_irqs[i].irq;
>  
> -	ret = max77693_bulk_read(info->max77693->regmap_muic,
> -			MAX77693_MUIC_REG_STATUS1, 2, info->status);
> +	ret = regmap_bulk_read(info->max77693->regmap_muic,
> +			MAX77693_MUIC_REG_STATUS1, info->status, 2);
>  	if (ret) {
>  		dev_err(info->dev, "failed to read MUIC register\n");
>  		mutex_unlock(&info->mutex);
> @@ -1042,8 +1042,8 @@ static int max77693_muic_detect_accessory(struct max77693_muic_info *info)
>  	mutex_lock(&info->mutex);
>  
>  	/* Read STATUSx register to detect accessory */
> -	ret = max77693_bulk_read(info->max77693->regmap_muic,
> -			MAX77693_MUIC_REG_STATUS1, 2, info->status);
> +	ret = regmap_bulk_read(info->max77693->regmap_muic,
> +			MAX77693_MUIC_REG_STATUS1, info->status, 2);
>  	if (ret) {
>  		dev_err(info->dev, "failed to read MUIC register\n");
>  		mutex_unlock(&info->mutex);
> @@ -1095,7 +1095,7 @@ static int max77693_muic_probe(struct platform_device *pdev)
>  	int delay_jiffies;
>  	int ret;
>  	int i;
> -	u8 id;
> +	unsigned int id;
>  
>  	info = devm_kzalloc(&pdev->dev, sizeof(struct max77693_muic_info),
>  				   GFP_KERNEL);
> @@ -1205,7 +1205,7 @@ static int max77693_muic_probe(struct platform_device *pdev)
>  		enum max77693_irq_source irq_src
>  				= MAX77693_IRQ_GROUP_NR;
>  
> -		max77693_write_reg(info->max77693->regmap_muic,
> +		regmap_write(info->max77693->regmap_muic,
>  				init_data[i].addr,
>  				init_data[i].data);
>  
> @@ -1263,7 +1263,7 @@ static int max77693_muic_probe(struct platform_device *pdev)
>  	 max77693_muic_set_path(info, info->path_uart, true);
>  
>  	/* Check revision number of MUIC device*/
> -	ret = max77693_read_reg(info->max77693->regmap_muic,
> +	ret = regmap_read(info->max77693->regmap_muic,
>  			MAX77693_MUIC_REG_ID, &id);
>  	if (ret < 0) {
>  		dev_err(&pdev->dev, "failed to read revision number\n");
> diff --git a/drivers/mfd/max77693-irq.c b/drivers/mfd/max77693-irq.c
> index 66b58fe..7d8f99f 100644
> --- a/drivers/mfd/max77693-irq.c
> +++ b/drivers/mfd/max77693-irq.c
> @@ -30,8 +30,9 @@
>  #include <linux/irqdomain.h>
>  #include <linux/mfd/max77693.h>
>  #include <linux/mfd/max77693-private.h>
> +#include <linux/regmap.h>
>  
> -static const u8 max77693_mask_reg[] = {
> +static const unsigned int max77693_mask_reg[] = {
>  	[LED_INT] = MAX77693_LED_REG_FLASH_INT_MASK,
>  	[TOPSYS_INT] = MAX77693_PMIC_REG_TOPSYS_INT_MASK,
>  	[CHG_INT] = MAX77693_CHG_REG_CHG_INT_MASK,
> @@ -118,7 +119,7 @@ static void max77693_irq_sync_unlock(struct irq_data *data)
>  			continue;
>  		max77693->irq_masks_cache[i] = max77693->irq_masks_cur[i];
>  
> -		max77693_write_reg(map, max77693_mask_reg[i],
> +		regmap_write(map, max77693_mask_reg[i],
>  				max77693->irq_masks_cur[i]);
>  	}
>  
> @@ -178,11 +179,11 @@ static irqreturn_t max77693_irq_thread(int irq, void *data)
>  {
>  	struct max77693_dev *max77693 = data;
>  	u8 irq_reg[MAX77693_IRQ_GROUP_NR] = {};
> -	u8 irq_src;
> +	unsigned int irq_src;
>  	int ret;
>  	int i, cur_irq;
>  
> -	ret = max77693_read_reg(max77693->regmap, MAX77693_PMIC_REG_INTSRC,
> +	ret = regmap_read(max77693->regmap, MAX77693_PMIC_REG_INTSRC,
>  				&irq_src);
>  	if (ret < 0) {
>  		dev_err(max77693->dev, "Failed to read interrupt source: %d\n",
> @@ -190,25 +191,34 @@ static irqreturn_t max77693_irq_thread(int irq, void *data)
>  		return IRQ_NONE;
>  	}
>  
> -	if (irq_src & MAX77693_IRQSRC_CHG)
> +	if (irq_src & MAX77693_IRQSRC_CHG) {
>  		/* CHG_INT */
> -		ret = max77693_read_reg(max77693->regmap, MAX77693_CHG_REG_CHG_INT,
> -				&irq_reg[CHG_INT]);
> +		unsigned int data;
> +		ret = regmap_read(max77693->regmap,
> +				MAX77693_CHG_REG_CHG_INT, &data);
> +		irq_reg[CHG_INT] = data;
> +	}
>  
> -	if (irq_src & MAX77693_IRQSRC_TOP)
> +	if (irq_src & MAX77693_IRQSRC_TOP) {
>  		/* TOPSYS_INT */
> -		ret = max77693_read_reg(max77693->regmap,
> -			MAX77693_PMIC_REG_TOPSYS_INT, &irq_reg[TOPSYS_INT]);
> +		unsigned int data;
> +		ret = regmap_read(max77693->regmap,
> +			MAX77693_PMIC_REG_TOPSYS_INT, &data);
> +		irq_reg[TOPSYS_INT] = data;
> +	}
>  
> -	if (irq_src & MAX77693_IRQSRC_FLASH)
> +	if (irq_src & MAX77693_IRQSRC_FLASH) {
>  		/* LED_INT */
> -		ret = max77693_read_reg(max77693->regmap,
> -			MAX77693_LED_REG_FLASH_INT, &irq_reg[LED_INT]);
> +		unsigned int data;
> +		ret = regmap_read(max77693->regmap,
> +			MAX77693_LED_REG_FLASH_INT, &data);
> +		irq_reg[LED_INT] = data;
> +	}
>  
>  	if (irq_src & MAX77693_IRQSRC_MUIC)
>  		/* MUIC INT1 ~ INT3 */
> -		max77693_bulk_read(max77693->regmap_muic, MAX77693_MUIC_REG_INT1,
> -			MAX77693_NUM_IRQ_MUIC_REGS, &irq_reg[MUIC_INT1]);
> +		regmap_bulk_read(max77693->regmap_muic, MAX77693_MUIC_REG_INT1,
> +			&irq_reg[MUIC_INT1], MAX77693_NUM_IRQ_MUIC_REGS);
>  
>  	/* Apply masking */
>  	for (i = 0; i < MAX77693_IRQ_GROUP_NR; i++) {
> @@ -263,7 +273,7 @@ int max77693_irq_init(struct max77693_dev *max77693)
>  	struct irq_domain *domain;
>  	int i;
>  	int ret = 0;
> -	u8 intsrc_mask;
> +	unsigned int intsrc_mask;
>  
>  	mutex_init(&max77693->irqlock);
>  
> @@ -286,9 +296,9 @@ int max77693_irq_init(struct max77693_dev *max77693)
>  		if (max77693_mask_reg[i] == MAX77693_REG_INVALID)
>  			continue;
>  		if (i >= MUIC_INT1 && i <= MUIC_INT3)
> -			max77693_write_reg(map, max77693_mask_reg[i], 0x00);
> +			regmap_write(map, max77693_mask_reg[i], 0x00);
>  		else
> -			max77693_write_reg(map, max77693_mask_reg[i], 0xff);
> +			regmap_write(map, max77693_mask_reg[i], 0xff);
>  	}
>  
>  	domain = irq_domain_add_linear(NULL, MAX77693_IRQ_NR,
> @@ -301,7 +311,7 @@ int max77693_irq_init(struct max77693_dev *max77693)
>  	max77693->irq_domain = domain;
>  
>  	/* Unmask max77693 interrupt */
> -	ret = max77693_read_reg(max77693->regmap,
> +	ret = regmap_read(max77693->regmap,
>  			MAX77693_PMIC_REG_INTSRC_MASK, &intsrc_mask);
>  	if (ret < 0) {
>  		dev_err(max77693->dev, "fail to read PMIC register\n");
> @@ -311,7 +321,7 @@ int max77693_irq_init(struct max77693_dev *max77693)
>  	intsrc_mask &= ~(MAX77693_IRQSRC_CHG);
>  	intsrc_mask &= ~(MAX77693_IRQSRC_FLASH);
>  	intsrc_mask &= ~(MAX77693_IRQSRC_MUIC);
> -	ret = max77693_write_reg(max77693->regmap,
> +	ret = regmap_write(max77693->regmap,
>  			MAX77693_PMIC_REG_INTSRC_MASK, intsrc_mask);
>  	if (ret < 0) {
>  		dev_err(max77693->dev, "fail to write PMIC register\n");
> diff --git a/drivers/mfd/max77693.c b/drivers/mfd/max77693.c
> index c5535f0..6336251 100644
> --- a/drivers/mfd/max77693.c
> +++ b/drivers/mfd/max77693.c
> @@ -49,58 +49,6 @@ static const struct mfd_cell max77693_devs[] = {
>  	{ .name = "max77693-haptic", },
>  };
>  
> -int max77693_read_reg(struct regmap *map, u8 reg, u8 *dest)
> -{
> -	unsigned int val;
> -	int ret;
> -
> -	ret = regmap_read(map, reg, &val);
> -	*dest = val;
> -
> -	return ret;
> -}
> -EXPORT_SYMBOL_GPL(max77693_read_reg);
> -
> -int max77693_bulk_read(struct regmap *map, u8 reg, int count, u8 *buf)
> -{
> -	int ret;
> -
> -	ret = regmap_bulk_read(map, reg, buf, count);
> -
> -	return ret;
> -}
> -EXPORT_SYMBOL_GPL(max77693_bulk_read);
> -
> -int max77693_write_reg(struct regmap *map, u8 reg, u8 value)
> -{
> -	int ret;
> -
> -	ret = regmap_write(map, reg, value);
> -
> -	return ret;
> -}
> -EXPORT_SYMBOL_GPL(max77693_write_reg);
> -
> -int max77693_bulk_write(struct regmap *map, u8 reg, int count, u8 *buf)
> -{
> -	int ret;
> -
> -	ret = regmap_bulk_write(map, reg, buf, count);
> -
> -	return ret;
> -}
> -EXPORT_SYMBOL_GPL(max77693_bulk_write);
> -
> -int max77693_update_reg(struct regmap *map, u8 reg, u8 val, u8 mask)
> -{
> -	int ret;
> -
> -	ret = regmap_update_bits(map, reg, mask, val);
> -
> -	return ret;
> -}
> -EXPORT_SYMBOL_GPL(max77693_update_reg);
> -
>  static const struct regmap_config max77693_regmap_config = {
>  	.reg_bits = 8,
>  	.val_bits = 8,
> @@ -117,7 +65,7 @@ static int max77693_i2c_probe(struct i2c_client *i2c,
>  			      const struct i2c_device_id *id)
>  {
>  	struct max77693_dev *max77693;
> -	u8 reg_data;
> +	unsigned int reg_data;
>  	int ret = 0;
>  
>  	max77693 = devm_kzalloc(&i2c->dev,
> @@ -139,7 +87,7 @@ static int max77693_i2c_probe(struct i2c_client *i2c,
>  		return ret;
>  	}
>  
> -	ret = max77693_read_reg(max77693->regmap, MAX77693_PMIC_REG_PMIC_ID2,
> +	ret = regmap_read(max77693->regmap, MAX77693_PMIC_REG_PMIC_ID2,
>  				&reg_data);
>  	if (ret < 0) {
>  		dev_err(max77693->dev, "device not found on this channel\n");
> diff --git a/drivers/regulator/max77693.c b/drivers/regulator/max77693.c
> index 653a58b..c67ff05 100644
> --- a/drivers/regulator/max77693.c
> +++ b/drivers/regulator/max77693.c
> @@ -31,6 +31,7 @@
>  #include <linux/mfd/max77693.h>
>  #include <linux/mfd/max77693-private.h>
>  #include <linux/regulator/of_regulator.h>
> +#include <linux/regmap.h>
>  
>  #define CHGIN_ILIM_STEP_20mA			20000
>  
> @@ -39,9 +40,9 @@
>  static int max77693_chg_is_enabled(struct regulator_dev *rdev)
>  {
>  	int ret;
> -	u8 val;
> +	unsigned int val;
>  
> -	ret = max77693_read_reg(rdev->regmap, rdev->desc->enable_reg, &val);
> +	ret = regmap_read(rdev->regmap, rdev->desc->enable_reg, &val);
>  	if (ret)
>  		return ret;
>  
> @@ -57,12 +58,11 @@ static int max77693_chg_get_current_limit(struct regulator_dev *rdev)
>  {
>  	unsigned int chg_min_uA = rdev->constraints->min_uA;
>  	unsigned int chg_max_uA = rdev->constraints->max_uA;
> -	u8 reg, sel;
> +	unsigned int reg, sel;
>  	unsigned int val;
>  	int ret;
>  
> -	ret = max77693_read_reg(rdev->regmap,
> -				MAX77693_CHG_REG_CHG_CNFG_09, &reg);
> +	ret = regmap_read(rdev->regmap, MAX77693_CHG_REG_CHG_CNFG_09, &reg);
>  	if (ret < 0)
>  		return ret;
>  
> @@ -96,7 +96,7 @@ static int max77693_chg_set_current_limit(struct regulator_dev *rdev,
>  	/* the first four codes for charger current are all 60mA */
>  	sel += 3;
>  
> -	return max77693_write_reg(rdev->regmap,
> +	return regmap_write(rdev->regmap,
>  				MAX77693_CHG_REG_CHG_CNFG_09, sel);
>  }
>  /* end of CHARGER regulator ops */
> diff --git a/include/linux/mfd/max77693-private.h b/include/linux/mfd/max77693-private.h
> index 3e050b9..80ec31d 100644
> --- a/include/linux/mfd/max77693-private.h
> +++ b/include/linux/mfd/max77693-private.h
> @@ -332,14 +332,6 @@ enum max77693_types {
>  	TYPE_MAX77693,
>  };
>  
> -extern int max77693_read_reg(struct regmap *map, u8 reg, u8 *dest);
> -extern int max77693_bulk_read(struct regmap *map, u8 reg, int count,
> -				u8 *buf);
> -extern int max77693_write_reg(struct regmap *map, u8 reg, u8 value);
> -extern int max77693_bulk_write(struct regmap *map, u8 reg, int count,
> -				u8 *buf);
> -extern int max77693_update_reg(struct regmap *map, u8 reg, u8 val, u8 mask);
> -
>  extern int max77693_irq_init(struct max77693_dev *max77686);
>  extern void max77693_irq_exit(struct max77693_dev *max77686);
>  extern int max77693_irq_resume(struct max77693_dev *max77686);

-- 
Lee Jones
Linaro STMicroelectronics Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

  parent reply	other threads:[~2014-05-20 15:35 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-29  9:12 [PATCH v3 0/2] mfd: max77693: improve regmap support Robert Baldyga
2014-04-29  9:12 ` [PATCH v3 1/2] mfd: max77693: remove unnecessary wrapper functions Robert Baldyga
2014-05-09 11:37   ` Lee Jones
2014-05-20 15:35   ` Lee Jones [this message]
2014-05-20 18:56     ` Mark Brown
2014-05-21  6:50       ` Krzysztof Kozlowski
2014-04-29  9:12 ` [PATCH v3 2/2] mfd: max77693: handle IRQs using regmap Robert Baldyga
2014-05-09 11:37   ` Lee Jones

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140520153506.GA32025@lee--X1 \
    --to=lee.jones@linaro.org \
    --cc=broonie@kernel.org \
    --cc=cw00.choi@samsung.com \
    --cc=k.kozlowski@samsung.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=myungjoo.ham@samsung.com \
    --cc=r.baldyga@samsung.com \
    --cc=sameo@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.