Re: My vision of usbmon

Greg KH
2005-01-11T01:40:55Z

On Thu, Dec 23, 2004 at 03:02:49PM -0600, Chad Kitching wrote:
> > -----Original Message-----
> > From: Greg KH [mailto:greg@kroah.com]
> > Sent: December 21, 2004 11:11 PM
> > Subject: Re: My vision of usbmon
> >
> > -/* exported only within usbcore */
> > -struct usb_bus *usb_bus_get (struct usb_bus *bus)
> > +struct usb_bus *usb_bus_get(struct usb_bus *bus)
> > {
> > - struct class_device *tmp;
> > -
> > - if (!bus)
> > - return NULL;
> > -
> > - tmp = class_device_get(&bus->class_dev);
> > - if (tmp)
> > - return to_usb_bus(tmp);
> > - else
> > - return NULL;
> > + if (bus)
> > + class_device_get(&bus->class_dev);
> > + return bus;
> > }
> > +EXPORT_SYMBOL_GPL(usb_bus_get);
>
> I'm not familiar with this code, but if the replacement code is
> equivalent, is there any point to the return usb_bus pointer? With
> the replacement, you should always get the same pointer you put
> into it. If that is the case, why not remove the return value, and
> change drivers/usb/core/usb.c to match?

Because that goes against the "style" of the _get functions in the
driver core. This way, it's easy to just do:
some_function(usb_bus_get(my_bus), foo);

thanks,

greg k-h