[PATCH] Kobject: fix build error
This fixes a build error for various odd combinations of CONFIG_HOTPLUG and CONFIG_NET. Signed-off-by: Kay Sievers <kay.sievers@vrfy.org> Cc: Nigel Cunningham <ncunningham@cyclades.com> Cc: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
parent
913e7ec545
commit
4d17ffda33
2 changed files with 8 additions and 2 deletions
|
@ -259,7 +259,7 @@ struct subsys_attribute {
|
||||||
extern int subsys_create_file(struct subsystem * , struct subsys_attribute *);
|
extern int subsys_create_file(struct subsystem * , struct subsys_attribute *);
|
||||||
extern void subsys_remove_file(struct subsystem * , struct subsys_attribute *);
|
extern void subsys_remove_file(struct subsystem * , struct subsys_attribute *);
|
||||||
|
|
||||||
#if defined(CONFIG_HOTPLUG) && defined(CONFIG_NET)
|
#if defined(CONFIG_HOTPLUG)
|
||||||
void kobject_uevent(struct kobject *kobj, enum kobject_action action);
|
void kobject_uevent(struct kobject *kobj, enum kobject_action action);
|
||||||
|
|
||||||
int add_uevent_var(char **envp, int num_envp, int *cur_index,
|
int add_uevent_var(char **envp, int num_envp, int *cur_index,
|
||||||
|
|
|
@ -25,11 +25,13 @@
|
||||||
#define BUFFER_SIZE 2048 /* buffer for the variables */
|
#define BUFFER_SIZE 2048 /* buffer for the variables */
|
||||||
#define NUM_ENVP 32 /* number of env pointers */
|
#define NUM_ENVP 32 /* number of env pointers */
|
||||||
|
|
||||||
#if defined(CONFIG_HOTPLUG) && defined(CONFIG_NET)
|
#if defined(CONFIG_HOTPLUG)
|
||||||
u64 uevent_seqnum;
|
u64 uevent_seqnum;
|
||||||
char uevent_helper[UEVENT_HELPER_PATH_LEN] = "/sbin/hotplug";
|
char uevent_helper[UEVENT_HELPER_PATH_LEN] = "/sbin/hotplug";
|
||||||
static DEFINE_SPINLOCK(sequence_lock);
|
static DEFINE_SPINLOCK(sequence_lock);
|
||||||
|
#if defined(CONFIG_NET)
|
||||||
static struct sock *uevent_sock;
|
static struct sock *uevent_sock;
|
||||||
|
#endif
|
||||||
|
|
||||||
static char *action_to_string(enum kobject_action action)
|
static char *action_to_string(enum kobject_action action)
|
||||||
{
|
{
|
||||||
|
@ -155,6 +157,7 @@ void kobject_uevent(struct kobject *kobj, enum kobject_action action)
|
||||||
spin_unlock(&sequence_lock);
|
spin_unlock(&sequence_lock);
|
||||||
sprintf(seq_buff, "SEQNUM=%llu", (unsigned long long)seq);
|
sprintf(seq_buff, "SEQNUM=%llu", (unsigned long long)seq);
|
||||||
|
|
||||||
|
#if defined(CONFIG_NET)
|
||||||
/* send netlink message */
|
/* send netlink message */
|
||||||
if (uevent_sock) {
|
if (uevent_sock) {
|
||||||
struct sk_buff *skb;
|
struct sk_buff *skb;
|
||||||
|
@ -179,6 +182,7 @@ void kobject_uevent(struct kobject *kobj, enum kobject_action action)
|
||||||
netlink_broadcast(uevent_sock, skb, 0, 1, GFP_KERNEL);
|
netlink_broadcast(uevent_sock, skb, 0, 1, GFP_KERNEL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* call uevent_helper, usually only enabled during early boot */
|
/* call uevent_helper, usually only enabled during early boot */
|
||||||
if (uevent_helper[0]) {
|
if (uevent_helper[0]) {
|
||||||
|
@ -249,6 +253,7 @@ int add_uevent_var(char **envp, int num_envp, int *cur_index,
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(add_uevent_var);
|
EXPORT_SYMBOL_GPL(add_uevent_var);
|
||||||
|
|
||||||
|
#if defined(CONFIG_NET)
|
||||||
static int __init kobject_uevent_init(void)
|
static int __init kobject_uevent_init(void)
|
||||||
{
|
{
|
||||||
uevent_sock = netlink_kernel_create(NETLINK_KOBJECT_UEVENT, 1, NULL,
|
uevent_sock = netlink_kernel_create(NETLINK_KOBJECT_UEVENT, 1, NULL,
|
||||||
|
@ -264,5 +269,6 @@ static int __init kobject_uevent_init(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
postcore_initcall(kobject_uevent_init);
|
postcore_initcall(kobject_uevent_init);
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* CONFIG_HOTPLUG */
|
#endif /* CONFIG_HOTPLUG */
|
||||||
|
|
Loading…
Reference in a new issue