misc: Removed warnings from MAX1749 driver
[linux-2.6.git] / drivers / misc / tfa9887.c
index 41709cd..123efbf 100644 (file)
@@ -1,3 +1,19 @@
+/*
+ * drivers/misc/tfa9887.c
+ *
+ * Copyright (c) 2013, NVIDIA CORPORATION.  All rights reserved.
+ *
+ * This software is licensed under the terms of the GNU General Public
+ * License version 2, as published by the Free Software Foundation, and
+ * may be copied, distributed, and modified under those terms.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ */
+
 #include <linux/kernel.h>
 #include <linux/init.h>
 #include <linux/err.h>
@@ -56,6 +72,8 @@ static int calibration;
 
 static int recalibration;
 
+static int powerDown = 1;
+
 unsigned int volume_step[5] = {0, 2, 4, 6, 12};
 
 /* begin binary data: */
@@ -502,10 +520,10 @@ int DspSetParam(struct tfa9887_priv *tfa9887, struct tfa9887_priv *tfa9887_byte,
                        usleep_range(100, 200);
                } while ((error == Tfa9887_Error_Ok) && ((cf_status & 0x0100) == 0) && (tries < 100)); /* don't wait forever, DSP is pretty quick to respond (< 1ms) */
 
-               if (tries >= 100) {
+               if (tries >= 100 && !powerDown) {
                        /* something wrong with communication with DSP */
                        pr_info("Setparam failed\n");
-                       error = -1;
+                       error = -1;
                }
        }
        cf_ctrl = 0x0002;
@@ -1145,6 +1163,8 @@ int Tfa9887_Powerdown(int powerdown)
 {
        int error = 0;
 
+       powerDown = powerdown;
+
        if (tfa9887R) {
                mutex_lock(&tfa9887R->lock);
                if (tfa9887R->deviceInit)
@@ -1192,7 +1212,6 @@ int Powerdown(struct tfa9887_priv *tfa9887, struct tfa9887_priv *tfa9887_byte, i
                SetEq(tfa9887,tfa9887_byte);
        }
 
-
         return error;
 }
 
@@ -1440,20 +1459,20 @@ static __devinit int tfa9887R_i2c_probe(struct i2c_client *i2c,
        dev_info(&i2c->dev, "TFA9887 revision %d\n",val);
        tfa9887_kobj = kobject_create_and_add("tfa9887", kernel_kobj);
 
-       ret = sysfs_create_file(tfa9887_kobj, &tfa9887_config);
-       printk("tfa9887_add_sysfs ret=%d",ret);
+       ret = sysfs_create_file(tfa9887_kobj, &tfa9887_config.attr);
+       printk("tfa9887_add_sysfs ret=%d\n", ret);
        if (ret != 0) {
                 dev_err(&i2c->dev, "Failed to add sysfs: %d\n", ret);
                goto err;
        }
-       ret = sysfs_create_file(tfa9887_kobj, &tfa9887_cal);
-       printk("tfa9887_add_sysfs ret=%d",ret);
+       ret = sysfs_create_file(tfa9887_kobj, &tfa9887_cal.attr);
+       printk("tfa9887_add_sysfs ret=%d\n", ret);
        if (ret != 0) {
                 dev_err(&i2c->dev, "Failed to add sysfs: %d\n", ret);
                goto err;
        }
-       ret = sysfs_create_file(tfa9887_kobj, &tfa9887_vol);
-       printk("tfa9887_add_sysfs ret=%d",ret);
+       ret = sysfs_create_file(tfa9887_kobj, &tfa9887_vol.attr);
+       printk("tfa9887_add_sysfs ret=%d\n", ret);
        if (ret != 0) {
                 dev_err(&i2c->dev, "Failed to add sysfs: %d\n", ret);
                goto err;
@@ -1475,9 +1494,9 @@ static __devexit int tfa9887R_i2c_remove(struct i2c_client *client)
 {
        struct tfa9887_priv *tfa9887R = i2c_get_clientdata(client);
        regmap_exit(tfa9887R->regmap);
-       sysfs_remove_file(tfa9887_kobj, &tfa9887_config);
-       sysfs_remove_file(tfa9887_kobj, &tfa9887_cal);
-       sysfs_remove_file(tfa9887_kobj, &tfa9887_vol);
+       sysfs_remove_file(tfa9887_kobj, &tfa9887_config.attr);
+       sysfs_remove_file(tfa9887_kobj, &tfa9887_cal.attr);
+       sysfs_remove_file(tfa9887_kobj, &tfa9887_vol.attr);
        kobject_del(tfa9887_kobj);
        return 0;
 }
@@ -1626,3 +1645,7 @@ static void __exit tfa9887_exit(void)
 }
 module_exit(tfa9887_exit);
 
+MODULE_AUTHOR("Vinod Subbarayalu <vsubbarayalu@nvidia.com>, Scott Peterson <speterson@nvidia.com>");
+MODULE_DESCRIPTION("TFA9887 Audio Codec driver");
+MODULE_LICENSE("GPL");
+