Re: [PATCH] ASoC: max98090: add shutdown callback for max98090

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

 



Heiko,

在 2015年04月08日 17:25, Heiko Stübner 写道:
Hi Caesar,

Am Mittwoch, 8. April 2015, 16:52:08 schrieb Caesar Wang:
To fix pop noise when shutdown,the pop noise during shutdown
is the pmic cutoff power of codec without any notice.

Signed-off-by: jay.xu <xjq@xxxxxxxxxxxxxx>
Signed-off-by: zhengxing <zhengxing@xxxxxxxxxxxxxx>
Signed-off-by: Caesar Wang <wxt@xxxxxxxxxxxxxx>

Serien-cc: linux-kernel@xxxxxxxxxxxxxxx
Serien-cc: devicetree@xxxxxxxxxxxxxxx
Serien-cc: dianders@xxxxxxxxxxxx

---

  sound/soc/codecs/max98090.c | 17 +++++++++++++++++
  1 file changed, 17 insertions(+)

diff --git a/sound/soc/codecs/max98090.c b/sound/soc/codecs/max98090.c
index b112b1c..066954a0 100644
--- a/sound/soc/codecs/max98090.c
+++ b/sound/soc/codecs/max98090.c
@@ -2611,6 +2611,22 @@ static int max98090_i2c_remove(struct i2c_client
*client) return 0;
  }

+static void max98090_i2c_shutdown(struct i2c_client *i2c)
+{
+	struct max98090_priv *max98090 = dev_get_drvdata(&i2c->dev);
+
+	dev_info(&i2c->dev, "shut down device\n");
is this dev_info really necessary? dev_dbg might be better, or leave it out
completely, as it doesn't really provide any additional benefit.


As Mark suggestion, I will remove it.
+
+	/* Enable volume smoothing, disable zero cross.  This will cause
+	 * a quick 40ms ramp to mute on shutdown.
+	 */
Comment style is off ... should be

/*
  * Enable volume smoothing, disable zero cross.  This will cause
  * a quick 40ms ramp to mute on shutdown.
  */


Done
+	regmap_write(max98090->regmap,
+		M98090_REG_LEVEL_CONTROL, M98090_VSENN_MASK);
+	regmap_write(max98090->regmap,
+		M98090_REG_DEVICE_SHUTDOWN, 0x00);
+	msleep(40);
+}
+
  #ifdef CONFIG_PM
  static int max98090_runtime_resume(struct device *dev)
  {
@@ -2697,6 +2713,7 @@ static struct i2c_driver max98090_i2c_driver = {
  	},
  	.probe  = max98090_i2c_probe,
  	.remove = max98090_i2c_remove,
+	.shutdown = max98090_i2c_shutdown,
  	.id_table = max98090_i2c_id,
  };




--
**************************************************************************************
王晓腾    Caesar Wang
系统产品三部   Product R&D Dept.III
福州瑞芯微电子有限公司 Fuzhou Rockchip Electronics Co.Ltd
地址:福建省福州市铜盘路软件大道89号软件园A区18号楼 (福州总部)
        深圳南山区科技中一路万利达大厦21层 (深圳分公司)
Addr:  NO.18 Building, A District, Fuzhou Software Park,Gulou District,Fuzhou, Fujian,China(Fuzhou Headquarters)
         21F,Malata Building,Kejizhongyi Avenue,Nanshan District,Shenzhen  (Shenzhen Office)
Tel:+86-591-83991906/07 - 8221
Mobile:+86 15059456742
E-mail : wxt@xxxxxxxxxxxxxx
***************************************************************************************
***************************************************************************************
保密提示:本邮件及其附件含有机密信息,仅发送给本邮件所指特定收件人。若非该特定收件人,请勿复制、 使用或披露本邮件的任何内容。
若误收本邮件,请从系统中永久性删除本邮件及所有附件,并以回复邮件或其他方式即刻告知发件人。福州瑞芯微电子有限公司拥有本邮件信
息的著作权及解释权,禁止任何未经授权许可的侵权行为。
IMPORTANT NOTICE: This email is from Fuzhou Rockchip Electronics Co., Ltd .The contents of this email and any attachments may
contain information that is privileged, confidential and/or exempt from disclosure under applicable law and relevant NDA.
If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the
information is STRICTLY PROHIBITED. Please immediately contact the sender as soon as possible and destroy the material
in its entirety in any format. Thank you.
***************************************************************************************


_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/dri-devel





[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux