On Sat, Aug 02, 2014 at 03:54:32AM +0530, Aniroop Mathur wrote: > On Sat, Aug 2, 2014 at 12:53 AM, Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote: > > On Fri, Aug 01, 2014 at 10:43:23PM +0530, Aniroop Mathur wrote: > >> Dear Mr. Greg Kroah-Hartman and Linux Community, > >> Greetings of the day !! :) > >> > >> I am Aniroop Mathur working on Linux Kernel for last two years. > >> I am stuck at one point and could not find the solution over internet. > >> I posted on linuxquestions.org too. > >> So I need your help and suggestion for it. > >> > >> Can you please help in answering my query as below: > >> > >> ===================================================== > >> In function device_add of /drivers/base/core.c file, it is mentioned: > >> /* > >> * for statically allocated devices, which should all be converted > >> * some day, we need to initialize the name. We prevent reading back > >> * the name, and force the use of dev_name() > >> */ > >> if (dev->init_name) { > >> dev_set_name(dev, "%s", dev->init_name); > >> dev->init_name = NULL; > >> } > >> > >> > >> Except forcing the use of dev_name to read device name, > >> Is there any other reason to make init_name as NULL ? > > > > Why would you want init_name to not be NULL? > > > > Currently in kernel, we cannot set name of event node. What do you mean by "event node"? > If dev->init_name is not set as NULL in device_add(), > then I can easily set name of event node in evdev_dev.c > file as below: > > if(dev->init_name) { > sprintf(dev->init_name, "event_%s", dev->init_name); > } > error = device_add(&evdev->dev); > > And in some input device driver code, I will use like below: > dev->init_name = "accelerometer"; > input_register_device(dev); What's wrong with: dev_set_name(dev, "%s", "accelerometer"); input_register_device(dev); > So, overall output will be > /dev/input/event<x> --> /dev/input/event_accelerometer > sys/class/input/input<x> --> sys/class/input/accelerometer > > In short, input and event node names are set just by > adding one line, which i found quite efficient. > There is other way also to set name of event node but > it involves using extra variable and little more code, > So I am looking for best solution possible. :) Only use init_name for static struct devices, for a dynamic one, jsut set the name like everyone else does, how is that "more" code than anything else? > >> And if it is not made NULL, is there any problem or side-effect ? > > > > Yes, people would start to use it thinking it was the real name of the > > device, when it might not be. > > > > As the name itself nicely suggests, it is just a initial name. So please do not use it, someday it will go away... thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-hotplug" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html