mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2024-12-29 17:22:07 +00:00
kobject: define common logging prefix
All log messages start with the prefix "kobject: ". Deduplicate this by using the pr_fmt() facility. This makes the very long log strings shorter. Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Link: https://lore.kernel.org/r/20230311-kobject-warning-v1-1-1ebba4f71fb5@weissschuh.net Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
410e7088e9
commit
984063339e
@ -10,6 +10,8 @@
|
||||
* about using the kobject interface.
|
||||
*/
|
||||
|
||||
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||
|
||||
#include <linux/kobject.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/export.h>
|
||||
@ -127,7 +129,7 @@ static int fill_kobj_path(const struct kobject *kobj, char *path, int length)
|
||||
*(path + --length) = '/';
|
||||
}
|
||||
|
||||
pr_debug("kobject: '%s' (%p): %s: path = '%s'\n", kobject_name(kobj),
|
||||
pr_debug("'%s' (%p): %s: path = '%s'\n", kobject_name(kobj),
|
||||
kobj, __func__, path);
|
||||
|
||||
return 0;
|
||||
@ -223,7 +225,7 @@ static int kobject_add_internal(struct kobject *kobj)
|
||||
kobj->parent = parent;
|
||||
}
|
||||
|
||||
pr_debug("kobject: '%s' (%p): %s: parent: '%s', set: '%s'\n",
|
||||
pr_debug("'%s' (%p): %s: parent: '%s', set: '%s'\n",
|
||||
kobject_name(kobj), kobj, __func__,
|
||||
parent ? kobject_name(parent) : "<NULL>",
|
||||
kobj->kset ? kobject_name(&kobj->kset->kobj) : "<NULL>");
|
||||
@ -359,7 +361,7 @@ static __printf(3, 0) int kobject_add_varg(struct kobject *kobj,
|
||||
|
||||
retval = kobject_set_name_vargs(kobj, fmt, vargs);
|
||||
if (retval) {
|
||||
pr_err("kobject: can not set name properly!\n");
|
||||
pr_err("can not set name properly!\n");
|
||||
return retval;
|
||||
}
|
||||
kobj->parent = parent;
|
||||
@ -588,7 +590,7 @@ static void __kobject_del(struct kobject *kobj)
|
||||
|
||||
/* send "remove" if the caller did not do it but sent "add" */
|
||||
if (kobj->state_add_uevent_sent && !kobj->state_remove_uevent_sent) {
|
||||
pr_debug("kobject: '%s' (%p): auto cleanup 'remove' event\n",
|
||||
pr_debug("'%s' (%p): auto cleanup 'remove' event\n",
|
||||
kobject_name(kobj), kobj);
|
||||
kobject_uevent(kobj, KOBJ_REMOVE);
|
||||
}
|
||||
@ -658,16 +660,16 @@ static void kobject_cleanup(struct kobject *kobj)
|
||||
const struct kobj_type *t = get_ktype(kobj);
|
||||
const char *name = kobj->name;
|
||||
|
||||
pr_debug("kobject: '%s' (%p): %s, parent %p\n",
|
||||
pr_debug("'%s' (%p): %s, parent %p\n",
|
||||
kobject_name(kobj), kobj, __func__, kobj->parent);
|
||||
|
||||
if (t && !t->release)
|
||||
pr_debug("kobject: '%s' (%p): does not have a release() function, it is broken and must be fixed. See Documentation/core-api/kobject.rst.\n",
|
||||
pr_debug("'%s' (%p): does not have a release() function, it is broken and must be fixed. See Documentation/core-api/kobject.rst.\n",
|
||||
kobject_name(kobj), kobj);
|
||||
|
||||
/* remove from sysfs if the caller did not do it */
|
||||
if (kobj->state_in_sysfs) {
|
||||
pr_debug("kobject: '%s' (%p): auto cleanup kobject_del\n",
|
||||
pr_debug("'%s' (%p): auto cleanup kobject_del\n",
|
||||
kobject_name(kobj), kobj);
|
||||
__kobject_del(kobj);
|
||||
} else {
|
||||
@ -676,14 +678,14 @@ static void kobject_cleanup(struct kobject *kobj)
|
||||
}
|
||||
|
||||
if (t && t->release) {
|
||||
pr_debug("kobject: '%s' (%p): calling ktype release\n",
|
||||
pr_debug("'%s' (%p): calling ktype release\n",
|
||||
kobject_name(kobj), kobj);
|
||||
t->release(kobj);
|
||||
}
|
||||
|
||||
/* free name if we allocated it */
|
||||
if (name) {
|
||||
pr_debug("kobject: '%s': free name\n", name);
|
||||
pr_debug("'%s': free name\n", name);
|
||||
kfree_const(name);
|
||||
}
|
||||
|
||||
@ -703,8 +705,8 @@ static void kobject_release(struct kref *kref)
|
||||
struct kobject *kobj = container_of(kref, struct kobject, kref);
|
||||
#ifdef CONFIG_DEBUG_KOBJECT_RELEASE
|
||||
unsigned long delay = HZ + HZ * get_random_u32_below(4);
|
||||
pr_info("kobject: '%s' (%p): %s, parent %p (delayed %ld)\n",
|
||||
kobject_name(kobj), kobj, __func__, kobj->parent, delay);
|
||||
pr_info("'%s' (%p): %s, parent %p (delayed %ld)\n",
|
||||
kobject_name(kobj), kobj, __func__, kobj->parent, delay);
|
||||
INIT_DELAYED_WORK(&kobj->release, kobject_delayed_cleanup);
|
||||
|
||||
schedule_delayed_work(&kobj->release, delay);
|
||||
@ -733,7 +735,7 @@ EXPORT_SYMBOL(kobject_put);
|
||||
|
||||
static void dynamic_kobj_release(struct kobject *kobj)
|
||||
{
|
||||
pr_debug("kobject: (%p): %s\n", kobj, __func__);
|
||||
pr_debug("(%p): %s\n", kobj, __func__);
|
||||
kfree(kobj);
|
||||
}
|
||||
|
||||
@ -910,7 +912,7 @@ EXPORT_SYMBOL_GPL(kset_find_obj);
|
||||
static void kset_release(struct kobject *kobj)
|
||||
{
|
||||
struct kset *kset = container_of(kobj, struct kset, kobj);
|
||||
pr_debug("kobject: '%s' (%p): %s\n",
|
||||
pr_debug("'%s' (%p): %s\n",
|
||||
kobject_name(kobj), kobj, __func__);
|
||||
kfree(kset);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user