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

Commit 118b4515 authored by Alexander Shishkin's avatar Alexander Shishkin
Browse files

stm class: dummy_stm: Make nr_dummies parameter read-only



Changing nr_dummies after the module has been loaded doesn't actually
change anything, so just make it read-only.

Reported-by: default avatarAlan Cox <alan.cox@intel.com>
Signed-off-by: default avatarAlexander Shishkin <alexander.shishkin@linux.intel.com>
Reviewed-by: default avatarLaurent Fert <laurent.fert@intel.com>
parent f57af6df
Loading
Loading
Loading
Loading
+5 −9
Original line number Original line Diff line number Diff line
@@ -46,9 +46,7 @@ static struct stm_data dummy_stm[DUMMY_STM_MAX];


static int nr_dummies = 4;
static int nr_dummies = 4;


module_param(nr_dummies, int, 0600);
module_param(nr_dummies, int, 0400);

static unsigned int dummy_stm_nr;


static unsigned int fail_mode;
static unsigned int fail_mode;


@@ -65,12 +63,12 @@ static int dummy_stm_link(struct stm_data *data, unsigned int master,


static int dummy_stm_init(void)
static int dummy_stm_init(void)
{
{
	int i, ret = -ENOMEM, __nr_dummies = ACCESS_ONCE(nr_dummies);
	int i, ret = -ENOMEM;


	if (__nr_dummies < 0 || __nr_dummies > DUMMY_STM_MAX)
	if (nr_dummies < 0 || nr_dummies > DUMMY_STM_MAX)
		return -EINVAL;
		return -EINVAL;


	for (i = 0; i < __nr_dummies; i++) {
	for (i = 0; i < nr_dummies; i++) {
		dummy_stm[i].name = kasprintf(GFP_KERNEL, "dummy_stm.%d", i);
		dummy_stm[i].name = kasprintf(GFP_KERNEL, "dummy_stm.%d", i);
		if (!dummy_stm[i].name)
		if (!dummy_stm[i].name)
			goto fail_unregister;
			goto fail_unregister;
@@ -86,8 +84,6 @@ static int dummy_stm_init(void)
			goto fail_free;
			goto fail_free;
	}
	}


	dummy_stm_nr = __nr_dummies;

	return 0;
	return 0;


fail_unregister:
fail_unregister:
@@ -105,7 +101,7 @@ static void dummy_stm_exit(void)
{
{
	int i;
	int i;


	for (i = 0; i < dummy_stm_nr; i++) {
	for (i = 0; i < nr_dummies; i++) {
		stm_unregister_device(&dummy_stm[i]);
		stm_unregister_device(&dummy_stm[i]);
		kfree(dummy_stm[i].name);
		kfree(dummy_stm[i].name);
	}
	}