From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755794AbbBPQuN (ORCPT ); Mon, 16 Feb 2015 11:50:13 -0500 Received: from mail-we0-f178.google.com ([74.125.82.178]:65398 "EHLO mail-we0-f178.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755478AbbBPQuJ (ORCPT ); Mon, 16 Feb 2015 11:50:09 -0500 Date: Mon, 16 Feb 2015 16:50:03 +0000 From: Lee Jones To: Charles Keepax Cc: cw00.choi@samsung.com, myungjoo.ham@samsung.com, sameo@linux.intel.com, lgirdwood@gmail.com, broonie@kernel.org, patches@opensource.wolfsonmicro.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH 1/2] extcon: arizona: Deobfuscate arizona_extcon_do_magic Message-ID: <20150216165003.GS14545@x1> References: <1424101263-27593-1-git-send-email-ckeepax@opensource.wolfsonmicro.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1424101263-27593-1-git-send-email-ckeepax@opensource.wolfsonmicro.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 On Mon, 16 Feb 2015, Charles Keepax wrote: > arizona_extcon_do_magic does not lend a lot of clarity to the purpose > of the function, and as all the registers used are described in the > datasheet there is no need to obfuscate the code. This patch renames the > function to arizona_extcon_hp_clamp, as it controls clamping on the > headphone output. > > Signed-off-by: Charles Keepax > --- > drivers/extcon/extcon-arizona.c | 36 ++++++++++++++++++++---------------- > include/linux/mfd/arizona/core.h | 2 +- Acked-by: Lee Jones > sound/soc/codecs/arizona.c | 4 ++-- > 3 files changed, 23 insertions(+), 19 deletions(-) > > diff --git a/drivers/extcon/extcon-arizona.c b/drivers/extcon/extcon-arizona.c > index 63f01c4..95cf7f8 100644 > --- a/drivers/extcon/extcon-arizona.c > +++ b/drivers/extcon/extcon-arizona.c > @@ -136,18 +136,22 @@ static const char *arizona_cable[] = { > > static void arizona_start_hpdet_acc_id(struct arizona_extcon_info *info); > > -static void arizona_extcon_do_magic(struct arizona_extcon_info *info, > - unsigned int magic) > +static void arizona_extcon_hp_clamp(struct arizona_extcon_info *info, > + bool clamp) > { > struct arizona *arizona = info->arizona; > + unsigned int val = 0; > int ret; > > + if (clamp) > + val = ARIZONA_RMV_SHRT_HP1L; > + > mutex_lock(&arizona->dapm->card->dapm_mutex); > > - arizona->hpdet_magic = magic; > + arizona->hpdet_clamp = clamp; > > - /* Keep the HP output stages disabled while doing the magic */ > - if (magic) { > + /* Keep the HP output stages disabled while doing the clamp */ > + if (clamp) { > ret = regmap_update_bits(arizona->regmap, > ARIZONA_OUTPUT_ENABLES_1, > ARIZONA_OUT1L_ENA | > @@ -158,20 +162,20 @@ static void arizona_extcon_do_magic(struct arizona_extcon_info *info, > ret); > } > > - ret = regmap_update_bits(arizona->regmap, 0x225, 0x4000, > - magic); > + ret = regmap_update_bits(arizona->regmap, ARIZONA_HP_CTRL_1L, > + ARIZONA_RMV_SHRT_HP1L, val); > if (ret != 0) > - dev_warn(arizona->dev, "Failed to do magic: %d\n", > + dev_warn(arizona->dev, "Failed to do clamp: %d\n", > ret); > > - ret = regmap_update_bits(arizona->regmap, 0x226, 0x4000, > - magic); > + ret = regmap_update_bits(arizona->regmap, ARIZONA_HP_CTRL_1R, > + ARIZONA_RMV_SHRT_HP1R, val); > if (ret != 0) > - dev_warn(arizona->dev, "Failed to do magic: %d\n", > + dev_warn(arizona->dev, "Failed to do clamp: %d\n", > ret); > > - /* Restore the desired state while not doing the magic */ > - if (!magic) { > + /* Restore the desired state while not doing the clamp */ > + if (!clamp) { > ret = regmap_update_bits(arizona->regmap, > ARIZONA_OUTPUT_ENABLES_1, > ARIZONA_OUT1L_ENA | > @@ -603,7 +607,7 @@ done: > ARIZONA_HP_IMPEDANCE_RANGE_MASK | ARIZONA_HP_POLL, > 0); > > - arizona_extcon_do_magic(info, 0); > + arizona_extcon_hp_clamp(info, false); > > if (id_gpio) > gpio_set_value_cansleep(id_gpio, 0); > @@ -648,7 +652,7 @@ static void arizona_identify_headphone(struct arizona_extcon_info *info) > if (info->mic) > arizona_stop_mic(info); > > - arizona_extcon_do_magic(info, 0x4000); > + arizona_extcon_hp_clamp(info, true); > > ret = regmap_update_bits(arizona->regmap, > ARIZONA_ACCESSORY_DETECT_MODE_1, > @@ -699,7 +703,7 @@ static void arizona_start_hpdet_acc_id(struct arizona_extcon_info *info) > > info->hpdet_active = true; > > - arizona_extcon_do_magic(info, 0x4000); > + arizona_extcon_hp_clamp(info, true); > > ret = regmap_update_bits(arizona->regmap, > ARIZONA_ACCESSORY_DETECT_MODE_1, > diff --git a/include/linux/mfd/arizona/core.h b/include/linux/mfd/arizona/core.h > index 910e3aa..4863548 100644 > --- a/include/linux/mfd/arizona/core.h > +++ b/include/linux/mfd/arizona/core.h > @@ -126,7 +126,7 @@ struct arizona { > struct regmap_irq_chip_data *aod_irq_chip; > struct regmap_irq_chip_data *irq_chip; > > - bool hpdet_magic; > + bool hpdet_clamp; > unsigned int hp_ena; > > struct mutex clk_lock; > diff --git a/sound/soc/codecs/arizona.c b/sound/soc/codecs/arizona.c > index 9550d74..a6e5c70 100644 > --- a/sound/soc/codecs/arizona.c > +++ b/sound/soc/codecs/arizona.c > @@ -780,8 +780,8 @@ int arizona_hp_ev(struct snd_soc_dapm_widget *w, > priv->arizona->hp_ena &= ~mask; > priv->arizona->hp_ena |= val; > > - /* Force off if HPDET magic is active */ > - if (priv->arizona->hpdet_magic) > + /* Force off if HPDET clamp is active */ > + if (priv->arizona->hpdet_clamp) > val = 0; > > regmap_update_bits_async(arizona->regmap, ARIZONA_OUTPUT_ENABLES_1, -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog