diff options
author | Tomas Winkler <tomas.winkler@intel.com> | 2015-10-28 14:34:35 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2015-10-29 09:02:16 +0900 |
commit | 213dd193fab8288e2b0b96dc93f974ec33ba2298 (patch) | |
tree | 159ccde5068c4bafab199d9db1e241383ee3f7a2 /drivers/misc | |
parent | 2da55cfd603d1c08dd1a396f943d6205eca47227 (diff) |
mei: bus: set the device name before running fixup
The mei bus fixup use dev_xxx services for printing
to kernel log so we need to setup the device name
prior to running fixup hooks.
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/misc')
-rw-r--r-- | drivers/misc/mei/bus.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/drivers/misc/mei/bus.c b/drivers/misc/mei/bus.c index 46403e48be4f..0b05aa938799 100644 --- a/drivers/misc/mei/bus.c +++ b/drivers/misc/mei/bus.c @@ -742,6 +742,19 @@ static struct device_type mei_cl_device_type = { }; /** + * mei_cl_bus_set_name - set device name for me client device + * + * @cldev: me client device + */ +static inline void mei_cl_bus_set_name(struct mei_cl_device *cldev) +{ + dev_set_name(&cldev->dev, "mei:%s:%pUl:%02X", + cldev->name, + mei_me_cl_uuid(cldev->me_cl), + mei_me_cl_ver(cldev->me_cl)); +} + +/** * mei_cl_bus_dev_alloc - initialize and allocate mei client device * * @bus: mei device @@ -764,6 +777,7 @@ static struct mei_cl_device *mei_cl_bus_dev_alloc(struct mei_device *bus, cldev->dev.type = &mei_cl_device_type; cldev->bus = mei_dev_bus_get(bus); cldev->me_cl = mei_me_cl_get(me_cl); + mei_cl_bus_set_name(cldev); cldev->is_added = 0; INIT_LIST_HEAD(&cldev->bus_list); @@ -785,11 +799,9 @@ static bool mei_cl_bus_dev_setup(struct mei_device *bus, cldev->do_match = 1; mei_cl_bus_dev_fixup(cldev); + /* the device name can change during fix up */ if (cldev->do_match) - dev_set_name(&cldev->dev, "mei:%s:%pUl:%02X", - cldev->name, - mei_me_cl_uuid(cldev->me_cl), - mei_me_cl_ver(cldev->me_cl)); + mei_cl_bus_set_name(cldev); return cldev->do_match == 1; } |