core.c (ee6d3dd4ed48ab24b74bab3c3977b8218518247d) | core.c (cf6299b6101903c31bddb0065804b2121ed510c7) |
---|---|
1// SPDX-License-Identifier: GPL-2.0 2/* 3 * drivers/base/core.c - core driver model code (device registration, etc) 4 * 5 * Copyright (c) 2002-3 Patrick Mochel 6 * Copyright (c) 2002-3 Open Source Development Labs 7 * Copyright (c) 2006 Greg Kroah-Hartman <gregkh@suse.de> 8 * Copyright (c) 2006 Novell, Inc. --- 2247 unchanged lines hidden (view full) --- 2256static struct kobj_type device_ktype = { 2257 .release = device_release, 2258 .sysfs_ops = &dev_sysfs_ops, 2259 .namespace = device_namespace, 2260 .get_ownership = device_get_ownership, 2261}; 2262 2263 | 1// SPDX-License-Identifier: GPL-2.0 2/* 3 * drivers/base/core.c - core driver model code (device registration, etc) 4 * 5 * Copyright (c) 2002-3 Patrick Mochel 6 * Copyright (c) 2002-3 Open Source Development Labs 7 * Copyright (c) 2006 Greg Kroah-Hartman <gregkh@suse.de> 8 * Copyright (c) 2006 Novell, Inc. --- 2247 unchanged lines hidden (view full) --- 2256static struct kobj_type device_ktype = { 2257 .release = device_release, 2258 .sysfs_ops = &dev_sysfs_ops, 2259 .namespace = device_namespace, 2260 .get_ownership = device_get_ownership, 2261}; 2262 2263 |
2264static int dev_uevent_filter(struct kset *kset, struct kobject *kobj) | 2264static int dev_uevent_filter(struct kobject *kobj) |
2265{ 2266 const struct kobj_type *ktype = get_ktype(kobj); 2267 2268 if (ktype == &device_ktype) { 2269 struct device *dev = kobj_to_dev(kobj); 2270 if (dev->bus) 2271 return 1; 2272 if (dev->class) 2273 return 1; 2274 } 2275 return 0; 2276} 2277 | 2265{ 2266 const struct kobj_type *ktype = get_ktype(kobj); 2267 2268 if (ktype == &device_ktype) { 2269 struct device *dev = kobj_to_dev(kobj); 2270 if (dev->bus) 2271 return 1; 2272 if (dev->class) 2273 return 1; 2274 } 2275 return 0; 2276} 2277 |
2278static const char *dev_uevent_name(struct kset *kset, struct kobject *kobj) | 2278static const char *dev_uevent_name(struct kobject *kobj) |
2279{ 2280 struct device *dev = kobj_to_dev(kobj); 2281 2282 if (dev->bus) 2283 return dev->bus->name; 2284 if (dev->class) 2285 return dev->class->name; 2286 return NULL; 2287} 2288 | 2279{ 2280 struct device *dev = kobj_to_dev(kobj); 2281 2282 if (dev->bus) 2283 return dev->bus->name; 2284 if (dev->class) 2285 return dev->class->name; 2286 return NULL; 2287} 2288 |
2289static int dev_uevent(struct kset *kset, struct kobject *kobj, 2290 struct kobj_uevent_env *env) | 2289static int dev_uevent(struct kobject *kobj, struct kobj_uevent_env *env) |
2291{ 2292 struct device *dev = kobj_to_dev(kobj); 2293 int retval = 0; 2294 2295 /* add device node properties if present */ 2296 if (MAJOR(dev->devt)) { 2297 const char *tmp; 2298 const char *name; --- 78 unchanged lines hidden (view full) --- 2377 goto out; 2378 2379 kset = top_kobj->kset; 2380 if (!kset->uevent_ops || !kset->uevent_ops->uevent) 2381 goto out; 2382 2383 /* respect filter */ 2384 if (kset->uevent_ops && kset->uevent_ops->filter) | 2290{ 2291 struct device *dev = kobj_to_dev(kobj); 2292 int retval = 0; 2293 2294 /* add device node properties if present */ 2295 if (MAJOR(dev->devt)) { 2296 const char *tmp; 2297 const char *name; --- 78 unchanged lines hidden (view full) --- 2376 goto out; 2377 2378 kset = top_kobj->kset; 2379 if (!kset->uevent_ops || !kset->uevent_ops->uevent) 2380 goto out; 2381 2382 /* respect filter */ 2383 if (kset->uevent_ops && kset->uevent_ops->filter) |
2385 if (!kset->uevent_ops->filter(kset, &dev->kobj)) | 2384 if (!kset->uevent_ops->filter(&dev->kobj)) |
2386 goto out; 2387 2388 env = kzalloc(sizeof(struct kobj_uevent_env), GFP_KERNEL); 2389 if (!env) 2390 return -ENOMEM; 2391 2392 /* let the kset specific function add its keys */ | 2385 goto out; 2386 2387 env = kzalloc(sizeof(struct kobj_uevent_env), GFP_KERNEL); 2388 if (!env) 2389 return -ENOMEM; 2390 2391 /* let the kset specific function add its keys */ |
2393 retval = kset->uevent_ops->uevent(kset, &dev->kobj, env); | 2392 retval = kset->uevent_ops->uevent(&dev->kobj, env); |
2394 if (retval) 2395 goto out; 2396 2397 /* copy keys to file */ 2398 for (i = 0; i < env->envp_idx; i++) 2399 len += sysfs_emit_at(buf, len, "%s\n", env->envp[i]); 2400out: 2401 kfree(env); --- 2450 unchanged lines hidden --- | 2393 if (retval) 2394 goto out; 2395 2396 /* copy keys to file */ 2397 for (i = 0; i < env->envp_idx; i++) 2398 len += sysfs_emit_at(buf, len, "%s\n", env->envp[i]); 2399out: 2400 kfree(env); --- 2450 unchanged lines hidden --- |