Message ID | 20180706181601.134913-1-benjaminfair@google.com |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | ipmi: kcs_bmc: don't change device name | expand |
On 07/06/2018 01:16 PM, Benjamin Fair wrote: > kcs_bmc_alloc(...) calls dev_set_name(...) which is incorrect as most > bus driver frameworks, platform_driver in particular, assume that they > are able to set the device name themselves. Sorry for the delay, I've been busy and on vacation. This is queued for the next release. -corey > Signed-off-by: Benjamin Fair <benjaminfair@google.com> > --- > drivers/char/ipmi/kcs_bmc.c | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/drivers/char/ipmi/kcs_bmc.c b/drivers/char/ipmi/kcs_bmc.c > index fbfc05e3f3d1..cd75118bb0ac 100644 > --- a/drivers/char/ipmi/kcs_bmc.c > +++ b/drivers/char/ipmi/kcs_bmc.c > @@ -16,6 +16,8 @@ > > #include "kcs_bmc.h" > > +#define DEVICE_NAME "ipmi-kcs" > + > #define KCS_MSG_BUFSIZ 1000 > > #define KCS_ZERO_DATA 0 > @@ -440,8 +442,6 @@ struct kcs_bmc *kcs_bmc_alloc(struct device *dev, int sizeof_priv, u32 channel) > if (!kcs_bmc) > return NULL; > > - dev_set_name(dev, "ipmi-kcs%u", channel); > - > spin_lock_init(&kcs_bmc->lock); > kcs_bmc->channel = channel; > > @@ -455,7 +455,8 @@ struct kcs_bmc *kcs_bmc_alloc(struct device *dev, int sizeof_priv, u32 channel) > return NULL; > > kcs_bmc->miscdev.minor = MISC_DYNAMIC_MINOR; > - kcs_bmc->miscdev.name = dev_name(dev); > + kcs_bmc->miscdev.name = devm_kasprintf(dev, GFP_KERNEL, "%s%u", > + DEVICE_NAME, channel); > kcs_bmc->miscdev.fops = &kcs_bmc_fops; > > return kcs_bmc;
On Thu, Jul 19, 2018 at 5:52 PM Corey Minyard <minyard@acm.org> wrote: > > On 07/06/2018 01:16 PM, Benjamin Fair wrote: > > kcs_bmc_alloc(...) calls dev_set_name(...) which is incorrect as most > > bus driver frameworks, platform_driver in particular, assume that they > > are able to set the device name themselves. > > Sorry for the delay, I've been busy and on vacation. > > This is queued for the next release. > > -corey Great! Thanks, Corey.
diff --git a/drivers/char/ipmi/kcs_bmc.c b/drivers/char/ipmi/kcs_bmc.c index fbfc05e3f3d1..cd75118bb0ac 100644 --- a/drivers/char/ipmi/kcs_bmc.c +++ b/drivers/char/ipmi/kcs_bmc.c @@ -16,6 +16,8 @@ #include "kcs_bmc.h" +#define DEVICE_NAME "ipmi-kcs" + #define KCS_MSG_BUFSIZ 1000 #define KCS_ZERO_DATA 0 @@ -440,8 +442,6 @@ struct kcs_bmc *kcs_bmc_alloc(struct device *dev, int sizeof_priv, u32 channel) if (!kcs_bmc) return NULL; - dev_set_name(dev, "ipmi-kcs%u", channel); - spin_lock_init(&kcs_bmc->lock); kcs_bmc->channel = channel; @@ -455,7 +455,8 @@ struct kcs_bmc *kcs_bmc_alloc(struct device *dev, int sizeof_priv, u32 channel) return NULL; kcs_bmc->miscdev.minor = MISC_DYNAMIC_MINOR; - kcs_bmc->miscdev.name = dev_name(dev); + kcs_bmc->miscdev.name = devm_kasprintf(dev, GFP_KERNEL, "%s%u", + DEVICE_NAME, channel); kcs_bmc->miscdev.fops = &kcs_bmc_fops; return kcs_bmc;
kcs_bmc_alloc(...) calls dev_set_name(...) which is incorrect as most bus driver frameworks, platform_driver in particular, assume that they are able to set the device name themselves. Signed-off-by: Benjamin Fair <benjaminfair@google.com> --- drivers/char/ipmi/kcs_bmc.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)