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

Commit 048961ef authored by Kristian Høgsberg's avatar Kristian Høgsberg Committed by Stefan Richter
Browse files

firewire: Add rom_index attribute for unit sysfs directories.

parent 5c5539d8
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -230,6 +230,22 @@ static struct device_attribute config_rom_attribute = {
	.show = show_config_rom_attribute,
};

static ssize_t
show_rom_index_attribute(struct device *dev,
			 struct device_attribute *attr, char *buf)
{
	struct fw_device *device = fw_device(dev->parent);
	struct fw_unit *unit = fw_unit(dev);

	return snprintf(buf, PAGE_SIZE, "%d\n",
			unit->directory - device->config_rom);
}

static struct device_attribute rom_index_attribute = {
	.attr = { .name = "rom_index", .mode = S_IRUGO, },
	.show = show_rom_index_attribute,
};

struct read_quadlet_callback_data {
	struct completion done;
	int rcode;
@@ -393,6 +409,11 @@ static void create_units(struct fw_device *device)
			device_unregister(&unit->device);
			kfree(unit);
		}

		if (device_create_file(&unit->device, &rom_index_attribute) < 0) {
			device_unregister(&unit->device);
			kfree(unit);
		}
	}
}