Commit b1075c75 authored by flar2's avatar flar2 Committed by DidntRead
Browse files

mtk-vibrator: adjust vibration strength

parent c5c5248c
Loading
Loading
Loading
Loading
+25 −1
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@

#include <vibrator.h>
#include <vibrator_hal.h>
#include <mt-plat/upmu_common.h>

#define VERSION					        "v 0.1"
#define VIB_DEVICE				"mtk_vibrator"
@@ -235,6 +236,26 @@ static ssize_t store_vibr_on(struct device *dev, struct device_attribute *attr,

static DEVICE_ATTR(vibr_on, 0220, NULL, store_vibr_on);

static ssize_t show_vibr_vol(struct device *dev, struct device_attribute *attr,
								char *buf)
{
	return scnprintf(buf, PAGE_SIZE, "%d\n", pmic_get_register_value(PMIC_RG_VIBR_VOSEL));
}

static ssize_t store_vibr_vol(struct device *dev, struct device_attribute *attr,
			     const char *buf, size_t size)
{
	int val;
	sscanf(buf, "%d ", &val);
	if (val >= 0 && val < 8) {
		pmic_set_register_value(PMIC_RG_VIBR_VOSEL, val);
	}

	return size;
}

static DEVICE_ATTR(vibr_vol, 0644, show_vibr_vol, store_vibr_vol);

/******************************************************************************
 * vib_mod_init
 *
@@ -292,6 +313,9 @@ static int vib_mod_init(void)
	ret = device_create_file(mtk_vibrator.dev, &dev_attr_vibr_on);
	if (ret)
		VIB_DEBUG("device_create_file vibr_on fail!\n");
	ret = device_create_file(mtk_vibrator.dev, &dev_attr_vibr_vol);
	if (ret)
		VIB_DEBUG("device_create_file vibr_vol fail!\n");

	VIB_DEBUG("vib_mod_init Done\n");