driver core: clean up the logic to determine which /sys/dev/ directory to use
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 31 Mar 2023 09:33:15 +0000 (11:33 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 31 Mar 2023 15:45:07 +0000 (17:45 +0200)
commitd6bdbbdfb0d45a92407b90209e377bf8c0ed49e9
tree64b78543a47209b219b96ac442b9b411b0c23a36
parent2df418cf4b720fe3a0db4b4aab67be43d26af9dd
driver core: clean up the logic to determine which /sys/dev/ directory to use

When a dev_t is set in a struct device, an symlink in /sys/dev/ is
created for it either under /sys/dev/block/ or /sys/dev/char/ depending
on the device type.

The logic to determine this would trigger off of the class of the
object, and the kobj_type set in that location.  But it turns out that
this deep nesting isn't needed at all, as it's either a choice of block
or "everything else" which is a char device.  So make the logic a lot
more simple and obvious, and remove the incorrect comments in the code
that tried to document something that was not happening at all (it is
impossible to set class->dev_kobj to NULL as the class core prevented
that from happening.

This removes the only place that class->dev_kobj was being used, so
after this, it can be removed entirely.

Acked-by: Rafael J. Wysocki <rafael@kernel.org>
Link: https://lore.kernel.org/r/20230331093318.82288-4-gregkh@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/base/base.h
drivers/base/core.c
drivers/base/devtmpfs.c