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

Commit ab392864 authored by Alexandre Belloni's avatar Alexandre Belloni
Browse files

rtc: ds1343: remove undocumented and useless sysfs files



A documented ABI already exists to get information about the alarm. It is
the only one that is used.

Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
parent 1536f6dc
Loading
Loading
Loading
Loading
+1 −95
Original line number Diff line number Diff line
@@ -199,74 +199,6 @@ static struct bin_attribute nvram_attr = {
	.size		= DS1343_NVRAM_LEN,
};

static ssize_t ds1343_show_alarmstatus(struct device *dev,
				struct device_attribute *attr, char *buf)
{
	struct ds1343_priv *priv = dev_get_drvdata(dev);
	int alarmstatus, data;

	regmap_read(priv->map, DS1343_CONTROL_REG, &data);

	alarmstatus = !!(data & DS1343_A0IE);

	if (alarmstatus)
		return sprintf(buf, "enabled\n");
	else
		return sprintf(buf, "disabled\n");
}

static DEVICE_ATTR(alarm_status, S_IRUGO, ds1343_show_alarmstatus, NULL);

static ssize_t ds1343_show_alarmmode(struct device *dev,
				struct device_attribute *attr, char *buf)
{
	struct ds1343_priv *priv = dev_get_drvdata(dev);
	int alarm_mode, data;
	char *alarm_str;

	regmap_read(priv->map, DS1343_ALM0_SEC_REG, &data);
	alarm_mode = (data & 0x80) >> 4;

	regmap_read(priv->map, DS1343_ALM0_MIN_REG, &data);
	alarm_mode |= (data & 0x80) >> 5;

	regmap_read(priv->map, DS1343_ALM0_HOUR_REG, &data);
	alarm_mode |= (data & 0x80) >> 6;

	regmap_read(priv->map, DS1343_ALM0_DAY_REG, &data);
	alarm_mode |= (data & 0x80) >> 7;

	switch (alarm_mode) {
	case 15:
		alarm_str = "each second";
		break;

	case 7:
		alarm_str = "seconds match";
		break;

	case 3:
		alarm_str = "minutes and seconds match";
		break;

	case 1:
		alarm_str = "hours, minutes and seconds match";
		break;

	case 0:
		alarm_str = "day, hours, minutes and seconds match";
		break;

	default:
		alarm_str = "invalid";
		break;
	}

	return sprintf(buf, "%s\n", alarm_str);
}

static DEVICE_ATTR(alarm_mode, S_IRUGO, ds1343_show_alarmmode, NULL);

static ssize_t ds1343_show_tricklecharger(struct device *dev,
				struct device_attribute *attr, char *buf)
{
@@ -313,7 +245,6 @@ static DEVICE_ATTR(trickle_charger, S_IRUGO, ds1343_show_tricklecharger, NULL);

static int ds1343_sysfs_register(struct device *dev)
{
	struct ds1343_priv *priv = dev_get_drvdata(dev);
	int err;

	err = device_create_file(dev, &dev_attr_glitch_filter);
@@ -325,26 +256,9 @@ static int ds1343_sysfs_register(struct device *dev)
		goto error1;

	err = device_create_bin_file(dev, &nvram_attr);
	if (err)
		goto error2;

	if (priv->irq <= 0)
		return err;

	err = device_create_file(dev, &dev_attr_alarm_mode);
	if (err)
		goto error3;

	err = device_create_file(dev, &dev_attr_alarm_status);
	if (!err)
		return err;

	device_remove_file(dev, &dev_attr_alarm_mode);

error3:
	device_remove_bin_file(dev, &nvram_attr);
		return 0;

error2:
	device_remove_file(dev, &dev_attr_trickle_charger);

error1:
@@ -355,17 +269,9 @@ static int ds1343_sysfs_register(struct device *dev)

static void ds1343_sysfs_unregister(struct device *dev)
{
	struct ds1343_priv *priv = dev_get_drvdata(dev);

	device_remove_file(dev, &dev_attr_glitch_filter);
	device_remove_file(dev, &dev_attr_trickle_charger);
	device_remove_bin_file(dev, &nvram_attr);

	if (priv->irq <= 0)
		return;

	device_remove_file(dev, &dev_attr_alarm_status);
	device_remove_file(dev, &dev_attr_alarm_mode);
}

static int ds1343_read_time(struct device *dev, struct rtc_time *dt)