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

Commit 0296b228 authored by Kay Sievers's avatar Kay Sievers Committed by Greg Kroah-Hartman
Browse files

[PATCH] remove CONFIG_KOBJECT_UEVENT option



It makes zero sense to have hotplug, but not the netlink
events enabled today. Remove this option and merge the
kobject_uevent.h header into the kobject.h header file.

Signed-off-by: default avatarKay Sievers <kay.sievers@suse.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 03438211
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -1476,12 +1476,6 @@ W: http://nfs.sourceforge.net/
W:	http://www.cse.unsw.edu.au/~neilb/patches/linux-devel/
S:	Maintained

KERNEL EVENT LAYER (KOBJECT_UEVENT)
P:	Robert Love
M:	rml@novell.com
L:	linux-kernel@vger.kernel.org
S:	Maintained

KEXEC
P:	Eric Biederman
P:	Randy Dunlap
+0 −1
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@
#include <linux/random.h>
#include <linux/major.h>
#include <linux/proc_fs.h>
#include <linux/kobject_uevent.h>
#include <linux/interrupt.h>
#include <linux/poll.h>
#include <linux/device.h>
+0 −1
Original line number Diff line number Diff line
@@ -34,7 +34,6 @@
#include <linux/miscdevice.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/kobject_uevent.h>
#include <linux/proc_fs.h>
#include <linux/syscalls.h>
#include "z90crypt.h"
+34 −1
Original line number Diff line number Diff line
@@ -23,15 +23,31 @@
#include <linux/spinlock.h>
#include <linux/rwsem.h>
#include <linux/kref.h>
#include <linux/kobject_uevent.h>
#include <linux/kernel.h>
#include <asm/atomic.h>

#define KOBJ_NAME_LEN	20

#define HOTPLUG_PATH_LEN	256

/* path to the userspace helper executed on an event */
extern char hotplug_path[];

/* counter to tag the hotplug event, read only except for the kobject core */
extern u64 hotplug_seqnum;

/* the actions here must match the proper string in lib/kobject_uevent.c */
typedef int __bitwise kobject_action_t;
enum kobject_action {
	KOBJ_ADD	= (__force kobject_action_t) 0x01,	/* add event, for hotplug */
	KOBJ_REMOVE	= (__force kobject_action_t) 0x02,	/* remove event, for hotplug */
	KOBJ_CHANGE	= (__force kobject_action_t) 0x03,	/* a sysfs attribute file has changed */
	KOBJ_MOUNT	= (__force kobject_action_t) 0x04,	/* mount event for block devices */
	KOBJ_UMOUNT	= (__force kobject_action_t) 0x05,	/* umount event for block devices */
	KOBJ_OFFLINE	= (__force kobject_action_t) 0x06,	/* offline event for hotplug devices */
	KOBJ_ONLINE	= (__force kobject_action_t) 0x07,	/* online event for hotplug devices */
};

struct kobject {
	const char		* k_name;
	char			name[KOBJ_NAME_LEN];
@@ -243,16 +259,33 @@ extern void subsys_remove_file(struct subsystem * , struct subsys_attribute *);

#ifdef CONFIG_HOTPLUG
void kobject_hotplug(struct kobject *kobj, enum kobject_action action);

int add_hotplug_env_var(char **envp, int num_envp, int *cur_index,
			char *buffer, int buffer_size, int *cur_len,
			const char *format, ...)
	__attribute__((format (printf, 7, 8)));

int kobject_uevent(struct kobject *kobj,
		   enum kobject_action action,
		   struct attribute *attr);
int kobject_uevent_atomic(struct kobject *kobj,
			  enum kobject_action action,
			  struct attribute *attr);

#else
static inline void kobject_hotplug(struct kobject *kobj, enum kobject_action action) { }
static inline int add_hotplug_env_var(char **envp, int num_envp, int *cur_index, 
				      char *buffer, int buffer_size, int *cur_len, 
				      const char *format, ...)
{ return 0; }
int kobject_uevent(struct kobject *kobj,
		   enum kobject_action action,
		   struct attribute *attr)
{ return 0; }
int kobject_uevent_atomic(struct kobject *kobj,
			  enum kobject_action action,
			  struct attribute *attr)
{ return 0; }
#endif

#endif /* __KERNEL__ */

include/linux/kobject_uevent.h

deleted100644 → 0
+0 −57
Original line number Diff line number Diff line
/*
 * kobject_uevent.h - list of kobject user events that can be generated
 *
 * Copyright (C) 2004 IBM Corp.
 * Copyright (C) 2004 Greg Kroah-Hartman <greg@kroah.com>
 *
 * This file is released under the GPLv2.
 *
 */

#ifndef _KOBJECT_EVENT_H_
#define _KOBJECT_EVENT_H_

#define HOTPLUG_PATH_LEN	256

/* path to the hotplug userspace helper executed on an event */
extern char hotplug_path[];

/*
 * If you add an action here, you must also add the proper string to the
 * lib/kobject_uevent.c file.
 */
typedef int __bitwise kobject_action_t;
enum kobject_action {
	KOBJ_ADD	= (__force kobject_action_t) 0x01,	/* add event, for hotplug */
	KOBJ_REMOVE	= (__force kobject_action_t) 0x02,	/* remove event, for hotplug */
	KOBJ_CHANGE	= (__force kobject_action_t) 0x03,	/* a sysfs attribute file has changed */
	KOBJ_MOUNT	= (__force kobject_action_t) 0x04,	/* mount event for block devices */
	KOBJ_UMOUNT	= (__force kobject_action_t) 0x05,	/* umount event for block devices */
	KOBJ_OFFLINE	= (__force kobject_action_t) 0x06,	/* offline event for hotplug devices */
	KOBJ_ONLINE	= (__force kobject_action_t) 0x07,	/* online event for hotplug devices */
};


#ifdef CONFIG_KOBJECT_UEVENT
int kobject_uevent(struct kobject *kobj,
		   enum kobject_action action,
		   struct attribute *attr);
int kobject_uevent_atomic(struct kobject *kobj,
			  enum kobject_action action,
			  struct attribute *attr);
#else
static inline int kobject_uevent(struct kobject *kobj,
				 enum kobject_action action,
				 struct attribute *attr)
{
	return 0;
}
static inline int kobject_uevent_atomic(struct kobject *kobj,
				        enum kobject_action action,
					struct attribute *attr)
{
	return 0;
}
#endif

#endif
Loading