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

Commit 13f12b5a authored by Ian Abbott's avatar Ian Abbott Committed by Greg Kroah-Hartman
Browse files

staging: comedi: make 'in_request_module' a bool bit-field



Change the `in_request_module` member of `struct comedi_device` to a
1-bit bit-field of type `bool` and move it into a suitable hole in the
data type to save a few bytes.  Change the assigned values to `true` and
`false`.

Signed-off-by: default avatarIan Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent a7401cdd
Loading
Loading
Loading
Loading
+6 −6
Original line number Diff line number Diff line
@@ -2067,12 +2067,12 @@ static int comedi_open(struct inode *inode, struct file *file)
	/* This is slightly hacky, but we want module autoloading
	 * to work for root.
	 * case: user opens device, attached -> ok
	 * case: user opens device, unattached, in_request_module=0 -> autoload
	 * case: user opens device, unattached, in_request_module=1 -> fail
	 * case: user opens device, unattached, !in_request_module -> autoload
	 * case: user opens device, unattached, in_request_module -> fail
	 * case: root opens device, attached -> ok
	 * case: root opens device, unattached, in_request_module=1 -> ok
	 * case: root opens device, unattached, in_request_module -> ok
	 *   (typically called from modprobe)
	 * case: root opens device, unattached, in_request_module=0 -> autoload
	 * case: root opens device, unattached, !in_request_module -> autoload
	 *
	 * The last could be changed to "-> ok", which would deny root
	 * autoloading.
@@ -2088,7 +2088,7 @@ static int comedi_open(struct inode *inode, struct file *file)
	if (capable(CAP_NET_ADMIN) && dev->in_request_module)
		goto ok;

	dev->in_request_module = 1;
	dev->in_request_module = true;

#ifdef CONFIG_KMOD
	mutex_unlock(&dev->mutex);
@@ -2096,7 +2096,7 @@ static int comedi_open(struct inode *inode, struct file *file)
	mutex_lock(&dev->mutex);
#endif

	dev->in_request_module = 0;
	dev->in_request_module = false;

	if (!dev->attached && !capable(CAP_NET_ADMIN)) {
		DPRINTK("not attached and not CAP_NET_ADMIN\n");
+1 −1
Original line number Diff line number Diff line
@@ -208,9 +208,9 @@ struct comedi_device {
	const char *board_name;
	const void *board_ptr;
	bool attached:1;
	bool in_request_module:1;
	spinlock_t spinlock;
	struct mutex mutex;
	int in_request_module;

	int n_subdevices;
	struct comedi_subdevice *subdevices;