From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753277AbaETPfQ (ORCPT ); Tue, 20 May 2014 11:35:16 -0400 Received: from mail-ig0-f173.google.com ([209.85.213.173]:44951 "EHLO mail-ig0-f173.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751161AbaETPfN (ORCPT ); Tue, 20 May 2014 11:35:13 -0400 Date: Tue, 20 May 2014 16:35:06 +0100 From: Lee Jones To: Robert Baldyga 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 Message-ID: <20140520153506.GA32025@lee--X1> References: <1398762747-1138-1-git-send-email-r.baldyga@samsung.com> <1398762747-1138-2-git-send-email-r.baldyga@samsung.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1398762747-1138-2-git-send-email-r.baldyga@samsung.com> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > Reviewed-by: Krzysztof Kozlowski > Acked-by: Lee Jones > > [For extcon part] > Acked-by: Chanwoo Choi > --- > 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 > #include > #include > +#include > > -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, > ®_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 > #include > #include > +#include > > #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, ®); > + ret = regmap_read(rdev->regmap, MAX77693_CHG_REG_CHG_CNFG_09, ®); > 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