Commit 9186695e authored by Jiri Slaby (SUSE)'s avatar Jiri Slaby (SUSE) Committed by Borislav Petkov (AMD)
Browse files

EDAC/device: Remove edac_dev_sysfs_block_attribute::store()

No one uses this store hook (both BLOCK_ATTR() pass NULL). It actually
never was since its addition in

  fd309a9d ("drivers/edac: fix leaf sysfs attribute")

so drop it.

Found by https://github.com/jirislaby/clang-struct

.

Signed-off-by: default avatarJiri Slaby (SUSE) <jirislaby@kernel.org>
Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/20240213112051.27715-4-jirislaby@kernel.org


Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
parent 3667a35a
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -160,7 +160,6 @@ edac_device_alloc_ctl_info(unsigned pvt_sz, char *dev_name, unsigned nr_instance
				 */
				attrib->attr = attrib_spec[attr].attr;
				attrib->show = attrib_spec[attr].show;
				attrib->store = attrib_spec[attr].store;

				edac_dbg(4, "alloc-attrib=%p attrib_name='%s' attrib-spec=%p spec-name=%s\n",
					 attrib, attrib->attr.name,
+3 −6
Original line number Diff line number Diff line
@@ -95,16 +95,13 @@ struct edac_dev_sysfs_attribute {
 *
 *	used in leaf 'block' nodes for adding controls/attributes
 *
 *	each block in each instance of the containing control structure
 *	can have an array of the following. The show and store functions
 *	will be filled in with the show/store function in the
 *	low level driver.
 *	each block in each instance of the containing control structure can
 *	have an array of the following. The show function will be filled in
 *	with the show function in the low level driver.
 */
struct edac_dev_sysfs_block_attribute {
	struct attribute attr;
	ssize_t (*show)(struct kobject *, struct attribute *, char *);
	ssize_t (*store)(struct kobject *, struct attribute *,
			const char *, size_t);
};

/* device block control structure */
+3 −19
Original line number Diff line number Diff line
@@ -457,35 +457,19 @@ static ssize_t edac_dev_block_show(struct kobject *kobj,
	return -EIO;
}

/* Function to 'store' fields into the edac_dev 'block' structure */
static ssize_t edac_dev_block_store(struct kobject *kobj,
				struct attribute *attr,
				const char *buffer, size_t count)
{
	struct edac_dev_sysfs_block_attribute *block_attr;

	block_attr = to_block_attr(attr);

	if (block_attr->store)
		return block_attr->store(kobj, attr, buffer, count);
	return -EIO;
}

/* edac_dev file operations for a 'block' */
static const struct sysfs_ops device_block_ops = {
	.show = edac_dev_block_show,
	.store = edac_dev_block_store
};

#define BLOCK_ATTR(_name,_mode,_show,_store)        \
#define BLOCK_ATTR(_name,_mode,_show)        \
static struct edac_dev_sysfs_block_attribute attr_block_##_name = {	\
	.attr = {.name = __stringify(_name), .mode = _mode },   \
	.show   = _show,                                        \
	.store  = _store,                                       \
};

BLOCK_ATTR(ce_count, S_IRUGO, block_ce_count_show, NULL);
BLOCK_ATTR(ue_count, S_IRUGO, block_ue_count_show, NULL);
BLOCK_ATTR(ce_count, S_IRUGO, block_ce_count_show);
BLOCK_ATTR(ue_count, S_IRUGO, block_ue_count_show);

/* list of edac_dev 'block' attributes */
static struct attribute *device_block_attrs[] = {