diff options
author | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2015-10-22 15:04:56 +0200 |
---|---|---|
committer | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2015-10-22 15:04:56 +0200 |
commit | b99374450c03bf5081b88995d91d34fb9b2fd040 (patch) | |
tree | b6f525d915504ad8bd99bdb2dadcca345a4ad3a3 /drivers/motor/max8997_vibrator.c | |
parent | a39819e88ea4546218b581d7f061a99ca91d825b (diff) | |
parent | e2f984e707f517f24041b70018770b20b71cb6a6 (diff) | |
download | kernel_samsung_smdk4412-b99374450c03bf5081b88995d91d34fb9b2fd040.zip kernel_samsung_smdk4412-b99374450c03bf5081b88995d91d34fb9b2fd040.tar.gz kernel_samsung_smdk4412-b99374450c03bf5081b88995d91d34fb9b2fd040.tar.bz2 |
Merge remote-tracking branch 'github/cm-11.0'
Conflicts:
firmware/Makefile
firmware/epen/W9001_B713.bin.ihex
firmware/epen/W9001_B746.bin.ihex
firmware/epen/W9001_B746JD.bin.ihex
firmware/epen/W9001_B746L.bin.ihex
firmware/epen/W9001_B746S.bin.ihex
Diffstat (limited to 'drivers/motor/max8997_vibrator.c')
-rw-r--r-- | drivers/motor/max8997_vibrator.c | 40 |
1 files changed, 13 insertions, 27 deletions
diff --git a/drivers/motor/max8997_vibrator.c b/drivers/motor/max8997_vibrator.c index c3b07f8..827793d 100644 --- a/drivers/motor/max8997_vibrator.c +++ b/drivers/motor/max8997_vibrator.c @@ -225,7 +225,7 @@ void vibtonz_pwm(int nForce) } EXPORT_SYMBOL(vibtonz_pwm); -static ssize_t pwm_val_show(struct device *dev, +static ssize_t pwm_value_show(struct device *dev, struct device_attribute *attr, char *buf) { int count; @@ -233,19 +233,19 @@ static ssize_t pwm_val_show(struct device *dev, pwm_val = ((pwm_duty - pwm_duty_min) * 100) / pwm_duty_min; count = sprintf(buf, "%lu\n", pwm_val); - pr_debug("[VIB] pwm_val: %lu\n", pwm_val); + pr_debug("[VIB] pwm_value: %lu\n", pwm_val); return count; } -ssize_t pwm_val_store(struct device *dev, +ssize_t pwm_value_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t size) { if (kstrtoul(buf, 0, &pwm_val)) - pr_err("[VIB] %s: error on storing pwm_val\n", __func__); + pr_err("[VIB] %s: error on storing pwm_value\n", __func__); - pr_info("[VIB] %s: pwm_val=%lu\n", __func__, pwm_val); + pr_info("[VIB] %s: pwm_value=%lu\n", __func__, pwm_val); pwm_duty = (pwm_val * pwm_duty_min) / 100 + pwm_duty_min; @@ -261,28 +261,10 @@ ssize_t pwm_val_store(struct device *dev, return size; } -static DEVICE_ATTR(pwm_val, S_IRUGO | S_IWUSR, - pwm_val_show, pwm_val_store); +static DEVICE_ATTR(pwm_value, S_IRUGO | S_IWUSR, + pwm_value_show, pwm_value_store); #endif -static int create_vibrator_sysfs(void) -{ - int ret; - struct kobject *vibrator_kobj; - vibrator_kobj = kobject_create_and_add("vibrator", NULL); - if (unlikely(!vibrator_kobj)) - return -ENOMEM; - - ret = sysfs_create_file(vibrator_kobj, - &dev_attr_pwm_val.attr); - if (unlikely(ret < 0)) { - pr_err("[VIB] sysfs_create_file failed: %d\n", ret); - return ret; - } - - return 0; -} - static int __devinit vibrator_probe(struct platform_device *pdev) { struct max8997_dev *max8997 = dev_get_drvdata(pdev->dev.parent); @@ -323,8 +305,6 @@ static int __devinit vibrator_probe(struct platform_device *pdev) INIT_WORK(&ddata->work, vibrator_work); spin_lock_init(&ddata->lock); - create_vibrator_sysfs(); - ddata->pwm = pwm_request(pdata->pwm_id, "vibrator"); if (IS_ERR(ddata->pwm)) { pr_err("[VIB] Failed to request pwm.\n"); @@ -343,6 +323,12 @@ static int __devinit vibrator_probe(struct platform_device *pdev) goto err_timed_output_register; } + /* User controllable pwm level */ + error = device_create_file(ddata->dev.dev, &dev_attr_pwm_value); + if (error < 0) { + pr_err("[VIB] create sysfs fail: pwm_value\n"); + } + #ifdef CONFIG_VIBETONZ g_data = ddata; pwm_duty_max = g_data->pdata->duty; |