Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f4cf18ca authored by Johan Hovold's avatar Johan Hovold Committed by Samuel Ortiz
Browse files

mfd: Remove lm3533 boost attributes



Remove boost-frequency and ovp attributes, which can be set through
platform data, from sysfs.

Signed-off-by: default avatarJohan Hovold <jhovold@gmail.com>
Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent d9055dc5
Loading
Loading
Loading
Loading
+0 −23
Original line number Diff line number Diff line
What:		/sys/bus/i2c/devices/.../boost_freq
Date:		April 2012
KernelVersion:	3.5
Contact:	Johan Hovold <jhovold@gmail.com>
Description:
		Set the boost converter switching frequency (0, 1), where

		0 -  500Hz
		1 - 1000Hz

What:		/sys/bus/i2c/devices/.../boost_ovp
Date:		April 2012
KernelVersion:	3.5
Contact:	Johan Hovold <jhovold@gmail.com>
Description:
		Set the boost converter over-voltage protection threshold
		(0..3), where

		0 - 16V
		1 - 24V
		2 - 32V
		3 - 40V

What:		/sys/bus/i2c/devices/.../output_hvled[n]
Date:		April 2012
KernelVersion:	3.5
+0 −88
Original line number Diff line number Diff line
@@ -26,11 +26,9 @@
#include <linux/mfd/lm3533.h>


#define LM3533_BOOST_OVP_MAX		0x03
#define LM3533_BOOST_OVP_MASK		0x06
#define LM3533_BOOST_OVP_SHIFT		1

#define LM3533_BOOST_FREQ_MAX		0x01
#define LM3533_BOOST_FREQ_MASK		0x01
#define LM3533_BOOST_FREQ_SHIFT		0

@@ -253,96 +251,12 @@ struct lm3533_device_attribute {
		struct {
			u8 id;
		} output;
		struct {
			u8 reg;
			u8 shift;
			u8 mask;
			u8 max;
		} generic;
	} u;
};

#define to_lm3533_dev_attr(_attr) \
	container_of(_attr, struct lm3533_device_attribute, dev_attr)

static ssize_t show_lm3533_reg(struct device *dev,
				struct device_attribute *attr, char *buf)
{
	struct lm3533 *lm3533 = dev_get_drvdata(dev);
	struct lm3533_device_attribute *lattr = to_lm3533_dev_attr(attr);
	u8 val;
	int ret;

	ret = lm3533_read(lm3533, lattr->u.generic.reg, &val);
	if (ret)
		return ret;

	val = (val & lattr->u.generic.mask) >> lattr->u.generic.shift;

	return scnprintf(buf, PAGE_SIZE, "%u\n", val);
}

static ssize_t store_lm3533_reg(struct device *dev,
						struct device_attribute *attr,
						const char *buf, size_t len)
{
	struct lm3533 *lm3533 = dev_get_drvdata(dev);
	struct lm3533_device_attribute *lattr = to_lm3533_dev_attr(attr);
	u8 val;
	int ret;

	if (kstrtou8(buf, 0, &val) || val > lattr->u.generic.max)
		return -EINVAL;

	val = val << lattr->u.generic.shift;
	ret = lm3533_update(lm3533, lattr->u.generic.reg, val,
							lattr->u.generic.mask);
	if (ret)
		return ret;

	return len;
}

#define GENERIC_ATTR(_reg, _max, _mask, _shift) \
	{ .reg		= _reg, \
	  .max		= _max, \
	  .mask		= _mask, \
	  .shift	= _shift }

#define LM3533_GENERIC_ATTR(_name, _mode, _show, _store, _type,	\
						_reg, _max, _mask, _shift) \
	struct lm3533_device_attribute lm3533_dev_attr_##_name = { \
		.dev_attr	= __ATTR(_name, _mode, _show, _store), \
		.type		= _type, \
		.u.generic	= GENERIC_ATTR(_reg, _max, _mask, _shift) }

#define LM3533_GENERIC_ATTR_RW(_name, _type, _reg, _max, _mask, _shift) \
	LM3533_GENERIC_ATTR(_name, S_IRUGO | S_IWUSR, \
					show_lm3533_reg, store_lm3533_reg, \
					_type, _reg, _max, _mask, _shift)

#define LM3533_BOOST_ATTR_RW(_name, _NAME) \
	LM3533_GENERIC_ATTR_RW(_name, LM3533_ATTR_TYPE_BACKLIGHT, \
				LM3533_REG_BOOST_PWM, LM3533_##_NAME##_MAX, \
				LM3533_##_NAME##_MASK, LM3533_##_NAME##_SHIFT)
/*
 * Boost Over Voltage Protection Select
 *
 *   0 - 16 V (default)
 *   1 - 24 V
 *   2 - 32 V
 *   3 - 40 V
 */
static LM3533_BOOST_ATTR_RW(boost_ovp, BOOST_OVP);

/*
 * Boost Frequency Select
 *
 *   0 - 500 kHz (default)
 *   1 - 1 MHz
 */
static LM3533_BOOST_ATTR_RW(boost_freq, BOOST_FREQ);

static ssize_t show_output(struct device *dev,
				struct device_attribute *attr, char *buf)
{
@@ -432,8 +346,6 @@ static LM3533_OUTPUT_LVLED_ATTR_RW(4);
static LM3533_OUTPUT_LVLED_ATTR_RW(5);

static struct attribute *lm3533_attributes[] = {
	&lm3533_dev_attr_boost_freq.dev_attr.attr,
	&lm3533_dev_attr_boost_ovp.dev_attr.attr,
	&lm3533_dev_attr_output_hvled1.dev_attr.attr,
	&lm3533_dev_attr_output_hvled2.dev_attr.attr,
	&lm3533_dev_attr_output_lvled1.dev_attr.attr,